Hash
Los hash, también llamada huella digital o funciones de resumen son algoritmos alfanuméricos que consiguen crear a partir de una entrada (ya sea un texto, una contraseña o un archivo) una salida alfanumérica de longitud fija que representa un resumen de toda la información que se le ha dado.
Es un método para saber si el documento está integro tras su recepción, por eso se usa para comprobar que un archivo se ha descargado correctamente o para comprobar que datos como un pequeño texto sigue siendo el mismo tras su emisión.
Estos algoritmos aseguran que con la respuesta (o hash) nunca se podrá saber cuáles han sido los datos insertados, lo que indica que es una función unidireccional.
Huella digital
Estos resúmenes (hash) se podrían repetir teóricamente, ya que podría haber colisiones, y no es fácil tener una función hash perfecta (que consiga que no se repita la respuesta), pero esto no supone un problema, ya que si se consiguieran (con un buen algoritmo) dos hash iguales los contenidos serían totalmente distintos.
Una de sus mayores utilidades es proteger la confidencialidad de una contraseña, ya que podría estar en texto plano y ser accesible por cualquiera y aun así no poder ser capaces de deducirla.
Otro uso que tiene esta función es la de garantizar la integridad de los datos, por ejemplo, en algunas webs que proporcionan descargas de archivos grandes, por ejemplo, software, dando a su vez el resumen del archivo y la función usada.
Integridad del documento
También es empleado para firmar un documento digitalmente, ya que nos ayuda a verificar la identidad del emisor de un mensaje (así nos podemos asegurar que nos mandan un archivo concreto), y comprobar la integridad del documento.
El método más simple de firma digital consiste en crear un hash de la información enviada y cifrarlo con nuestra clave privada (de nuestro par de claves de la criptografía asimétrica) para que cualquiera con nuestra clave pública pueda ver el hash real y verificar que el contenido del archivo es el que hemos mandado nosotros.