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, el hash es siempre el mismo, si cambia en algo, incluso por un carácter, el hash de salida es completamente diferente.


Tipos:

Existen muchos tipos de hashes los más comunes son estos:

  • MD5: 16 bytes
  • SHA1: 20 bytes
  • SHA256: 55 caracteres
  • SHA512: 98 caracteres
Aunque existen más y varían según condiciones, mas aquí: [Enlace]


Programas:

Respecto a los programas, existen una gran variedad de estos con características únicas y para equipos o sistemas concretos, algunos ejemplos de estos son:

Windows

        Hash My Files

Linux

Online

Usos:

Los hashes se utilizan para muchas cosas ya que es muy versátil. Los algoritmos se usan para todo tipo de soluciones como contraseñas, antivirus, integridad…

  • Contraseñas:
    • Los usuarios crean una nueva cuenta e introducen una contraseña, el código de la aplicación pasa esa contraseña por una función de hash y guarda el resultado en la base de datos. Cuando el usuario quiere acceder más tarde, el proceso se repite y el resultado se compara con el valor de la base de datos. Si coincide, el usuario ha proporcionado la contraseña correcta

  • Antivirus:
    • Muchos antivirus utilizan las propiedades de los hases a su favor, al disponer en su base de datos de los hashes originales de los archivos de aplicación, programas del sistema entre mucho otros puedes escanear el sistema entero y veri si algo esta modificado.

  • Integridad:
    • La integridad es de lo mas utilizado de los hashes, como comentábamos en el apartado de los antivirus se pueden comparar dos hashes y ver si son los mismos, y muchas paginas tienen subidos los hases de sus programas para que los compares con el que tienes descargado.