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().
"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.
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.