¿Qué es la función hash unidireccional? definición y significado

Una función hash unidireccional es una función matemática que genera una huella digital de la entrada, pero no hay forma de volver a la entrada original. Si la entrada es la misma, entonces el hash es siempre el mismo, si cambia en absoluto, incluso por un carácter, el hash de salida es completamente diferente. Se puede usar un hash para verificar que la entrada A es idéntica a la entrada B, pero no se puede usar para recuperar la entrada de la salida como con otra función matemática, el cifrado.

Technipages explica la función hash unidireccional

La salida de un hash unidireccional siempre tiene la misma longitud, independientemente de la longitud de la entrada. Por ejemplo, la salida para el algoritmo hash md5 es siempre de 32 caracteres si se representa en hexadecimal, esto es cierto si la entrada tiene un carácter de longitud o la longitud de todas las obras de Shakespeare.

Un hash es ideal para verificar que dos cosas son idénticas, esto tiene dos usos principales. La “verificación de integridad” se utiliza para verificar que un archivo que se ha descargado es idéntico al del servidor comparando un hash conocido del archivo del servidor con un hash del archivo descargado.


Los algoritmos de hash también se utilizan en las bases de datos para verificar que el hash de la contraseña enviada coincide con el hash almacenado. Esto también significa que si un pirata informático obtiene acceso no autorizado a la base de datos, no obtiene contraseñas en sí, sino sus hashes, que no se pueden usar para iniciar sesión directamente.

La longitud de la salida de un algoritmo hash establece límites sobre la cantidad de salidas posibles y, como tal, describe su fuerza contra los "ataques de colisión" hash. Los ataques de colisión son cuando dos entradas diferentes generan la misma salida. Es bastante difícil encontrar dos entradas aleatorias que generen la misma salida, es significativamente más difícil encontrar una colisión para una única salida hash específica.

Usos comunes de la función hash unidireccional

  • Hay dos tipos de algoritmos de hash unidireccionales, rápido y lento, el rápido se usa para la verificación de archivos y el lento para el hash de contraseñas.
  • La entrada de un algoritmo hash unidireccional no se puede determinar analizando la salida o ejecutándola a través de otra función.
  • Cuando un pirata informático tiene una lista de hashes de contraseña de una base de datos robada, averigua qué algoritmo de hash unidireccional se utilizó y luego adivina como tantas contraseñas posibles como pueden, cuando tienen una salida que coincide con una entrada en la base de datos, saben que la entrada es del usuario contraseña.

Usos incorrectos comunes de la función hash unidireccional

  • Un algoritmo hash unidireccional es un tipo de cifrado y se puede utilizar para almacenar datos de forma segura para su recuperación en una fecha posterior con el uso de una contraseña y otra función.