Esta extensión proporciona funciones que pueden usarse para el procesamiento directo o incremental de mensajes de longitud arbitraria utilizando una variedad de algoritmos de hash, incluyendo la generación de valores HMAC y derivaciones de claves incluyendo HKDF y PBKDF2.
Existen aproximadamente tres categorías de algoritmos de hash, y una lista completa de algoritmos puede encontrarse en la documentación de hash_algos().
"crc32b"
o "adler32"
):
Estos se utilizan para calcular sumas de verificación, útiles en situaciones como cuando
se deben detectar errores de transmisión. Suelen ser muy rápidos. Estos
algoritmos a menudo generan valores que son fácilmente "adivinables" o pueden ser manipulados
para crear colisiones, por lo que son completamente inadecuados para uso criptográfico.
Algunos de los primeros algoritmos criptográficos, como "md4"
,
"md5"
y "sha1"
, han demostrado
ser propensos a ataques de colisión y generalmente se recomienda no
utilizarlos más para aplicaciones criptográficas.
Consulte también las preguntas frecuentes sobre el Hashing Seguro de Contraseñas para obtener información sobre las mejores prácticas para el uso de funciones hash en el manejo de contraseñas.