Introducción

Esta extensión proporciona funciones que pueden ser utilizadas para el tratamiento directo o incremental de mensajes de longitud arbitraria utilizando una variedad de algoritmos de hachado, incluyendo la generación de valores HMAC y derivaciones de claves incluyendo HKDF y PBKDF2.

Existen grosso modo tres categorías de algoritmos de hachado, y una lista completa de los algoritmos puede ser encontrada en la documentación para hash_algos().

  • Algoritmos de suma de control (tales como "crc32b" o "adler32") : Estos son utilizados para calcular sumas de control, útiles en situaciones tales como la detección de errores de transmisión. Son frecuentemente muy rápidos. Estos algoritmos generan frecuentemente valores fácilmente "adivinables" o pueden ser manipulados para crear colisiones, por lo que son totalmente inadecuados para un uso criptográfico.
  • Algoritmos no criptográficos (como la familia xxHash) : Estos son frecuentemente utilizados para calcular valores de hachado para tablas de hachado, ya que están diseñados para producir una buena distribución sobre entradas de string arbitrarias. Son también generalmente rápidos, pero también inadecuados para un uso criptográfico.
  • Algoritmos criptográficos (como la familia SHA-2) : Estos están diseñados para producir valores de hachado representativos de sus entradas pero que no puedan ser adivinados ni sujetos a colisiones. El rendimiento es a menudo una preocupación secundaria, pero el hardware moderno soporta frecuentemente un manejo especial para estos algoritmos que PHP intenta utilizar cuando está disponible. El Centro de Recursos para la Seguridad Informática del NIST tiene » una explicación de los algoritmos actualmente aprobados por los Estándares Federales de Procesamiento de Información de los Estados Unidos.
    Precaución

    Algunos de los primeros algoritmos criptográficos, tales como "md4", "md5", y "sha1", se han demostrado ser sujetos a ataques por colisión y generalmente se recomienda no utilizarlos más para aplicaciones criptográficas.

Ver también la FAQ sobre el hachado seguro de contraseñas para información sobre las mejores prácticas de utilización de las funciones de hachado en la gestión de contraseñas.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top