HASH Message Digest Framework
Introduction
Cette extension fournit des fonctions qui peuvent ĂȘtre utilisĂ©es pour le traitement direct ou
incrémental de messages de longueur arbitraire en utilisant une variété d'algorithmes de
hachage, y compris la génération de valeurs HMAC
et des dérivations de clés incluant HKDF et
PBKDF2.
Il existe grosso modo trois catégories d'algorithmes de hachage, et une liste complÚte des
algorithmes peut ĂȘtre trouvĂ©e dans la documentation pour hash_algos().
-
Algorithmes de somme de contrĂŽle (tels que
"crc32b" ou "adler32") :
Ceux-ci sont utilisés pour calculer des sommes de contrÎle, utiles dans des situations telles que
la détection des erreurs de transmission. Ils sont souvent trÚs rapides. Ces
algorithmes gĂ©nĂšrent souvent des valeurs facilement "devinables" ou peuvent ĂȘtre manipulĂ©s
pour créer des collisions, ils sont donc totalement inadaptés à une utilisation cryptographique.
-
Algorithmes non cryptographiques (comme la famille xxHash) :
Ceux-ci sont souvent utilisés pour calculer des valeurs de hachage pour des tables de hachage, car ils sont
conçus pour produire une bonne distribution sur des entrées de chaßne arbitraires. Ils
sont également généralement rapides, mais aussi inadaptés à une utilisation cryptographique.
-
Algorithmes cryptographiques (comme la famille SHA-2) :
Ceux-ci sont conçus pour produire des valeurs de hachage représentatives de leurs
entrĂ©es mais ne pouvant pas ĂȘtre devinĂ©es ni sujettes aux collisions. La performance est souvent
une préoccupation secondaire, mais le matériel moderne supporte souvent une gestion spéciale
pour ces algorithmes que PHP essaie d'utiliser lorsque disponible.
Le Centre de ressources pour la sécurité informatique du NIST a
» une explication des algorithmes
actuellement approuvĂ©s par les Standards fĂ©dĂ©raux de traitement de l'information des Ătats-Unis.
Attention
Certains des premiers algorithmes cryptographiques, tels que "md4",
"md5", et "sha1", se sont avérés
ĂȘtre sujets Ă des attaques par collision et il est gĂ©nĂ©ralement recommandĂ© de ne plus
les utiliser pour des applications cryptographiques.
Voir également la FAQ sur le hachage sécurisé des mots de passe
pour des informations sur les meilleures pratiques d'utilisation des fonctions de hachage dans la gestion
des mots de passe.
- Installation/Configuration
- Constantes pré-définies
- HashContext â La classe HashContext
- hash_pbkdf2 â Fonctions Hash
- hash â GĂ©nĂšre une valeur de hachage (empreinte numĂ©rique)
- hash_algos â Retourne une liste des algorithmes de hachage enregistrĂ©s
- hash_copy â Copie un contexte de hachage
- hash_equals â Comparaison de chaĂźnes rĂ©sistante aux attaques temporelles
- hash_file â GĂ©nĂšre une valeur de hachage en utilisant le contenu d'un fichier donnĂ©
- hash_final â Finalise un hachage incrĂ©mental et retourne le rĂ©sultat de l'empreinte numĂ©rique
- hash_hkdf â GĂ©nĂšre une dĂ©rivation de clĂ© HKDF depuis une clĂ© fournie
- hash_hmac â GĂ©nĂšre une valeur de clĂ© de hachage en utilisant la mĂ©thode HMAC
- hash_hmac_algos â Retourne la liste des algorithmes de hachage adaptĂ©s pour hash_hmac
- hash_hmac_file â GĂ©nĂšre une valeur de clĂ© de hachage en utilisant la mĂ©thode HMAC et le contenu d'un fichier donnĂ©
- hash_init â Initialise un contexte de hachage incrĂ©mental
- hash_update â Ajoute des donnĂ©es dans le contexte de hachage actif
- hash_update_file â Ajoute des donnĂ©es dans un contexte de hachage actif provenant d'un fichier
- hash_update_stream â Ajoute des donnĂ©es dans un contexte de hachage actif d'un flux ouvert
There are no user contributed notes for this page.