Acceder
El hash es una función criptográfica que consiste en un algoritmo matemático que se encarga de transformar cualquier bloque arbitrario en datos de una serie nueva con una longitud fija de “n” caracteres.

Es decir, la función hash permite que, independientemente de la cantidad original de datos que se ingresen o del tamaño del archivo involucrado, siempre se consiga un resultado del mismo tamaño. Se emplea en el mundo de las criptomonedas.

La principal característica de este tipo de algoritmo es que un hash es capaz de convertir cualquier entrada en una salida con la misma cantidad de dígitos, que en todo caso son “n” caracteres. 

En otras palabras, la frase “la canción del verano” y la oración “A Pedro no le gusta el café con leche”, por ejemplo, obtendrían como resultado un código de la misma longitud.

Vale remarcar que el resultado de la función hash no lo puede descifrar una tercera persona. Simplemente, observaría un código ilegible.

Asimismo, no se puede realizar ingeniería inversa, es decir, una vez que se tiene el resultado o output (también llamado valor hash) no es factible volver a convertirlo en sus correspondientes datos ingresados (input). Es como cuando mueles granos de café y no los puedes transformar de nuevo a su forma original. A esta propiedad se le conoce como unidireccionalidad.

Sin embargo, si se introdujera el mismo input dos veces, sí se obtendría el mismo resultado. Por lo tanto, si se conocen los datos originales, es posible validar el código arrojado por el hash.

Características de la función hash

Podemos destacar las siguientes características de la función hash:

  • Está libre de colisiones, es decir, dos inputs diferentes no obtendrán el mismo output.
  • Ofrece la oportunidad de proteger información. 
  • Permite detectar la violación de datos y verificar la integridad de un archivo descargado.
  • Sabemos que siempre se obtendrá un output de la misma longitud. A esta propiedad se le conoce como determinismo.
  • Incluso las mayúsculas cambian al resultado del output.

Origen del término función hash o hash

El término hash fue utilizado por primera vez hace más de 60 años. En 1953, un empleado de IBM llamado H. P. Luhn empleó el término en un memorándum de fecha enero de ese mismo año, en el cual se hace una analogía del término hash, cuyo significado en inglés es picar y mezclar. 

Para que el término fuese usado de forma masiva, tuvieron que pasar unos 10 años.

¿Para qué se utiliza un hash?

Es una pregunta recurrente. Sin embargo, todo tiene un porqué. En el caso de la función hash, se generó con la intención de estandarizar un conjunto de datos en un número definido de caracteres, que será procesado o interpretado a conveniencia según las demandas. 

Por ejemplo, es posible asociar un conjunto de información como nombres, teléfonos y direcciones a un número específico de caracteres que facilita el procesamiento de datos.

En el caso de la blockchain y las criptomonedas, el hash tiene una información importante, pues es el encargado de estandarizar ciertos datos en un mismo número de caracteres. Para el Bitcoin, existe un algoritmo hash denominado SHA-256 o algoritmo de hashing seguro de 256 bits.

Cabe mencionar que el algoritmo hash, está dentro de un mecanismo de resolución de problemas matemáticos complejos denominado Proof of Work, que es el que utilizan, por ejemplo, los mineros de bitcoin

Cabe mencionar que el algoritmo SHA-256 convierte cadenas de cualquier longitud en una cadena fija de 64 caracteres.

En otros aspectos, la implementación del hash como función criptográfica tiene como fin bloquear acciones como la duplicación de gastos, lo que se clasifica como una acción fraudulenta. Además, el hash protege el almacenamiento de contraseñas.  

Al tratarse de un número fijo que no puede ser duplicado dentro del algoritmo, evita los fraudes asociados a duplicados y colabora en la autenticación de cualquier archivo. Esto significa que cada vez que un archivo de una cadena de bloques cambie, también lo hará su hash automáticamente, siendo igual cada vez que haya alguna modificación.

La idea es garantizar la coherencia de los bloques que conforman la blockchain, ya que siempre el hash mantendrá un vínculo con archivos anteriores

Otros usos del algoritmo hash

Otros usos del hash, además de su importancia para el blockchain que hemos venido explicando, son los siguientes:

  • Administración de bases de datos: Los datos podrán almacenarse de una forma más eficiente. Tengamos en cuenta que largos textos podrían compactarse en códigos más cortos.
  • Vinculación a contraseñas: Se pueden vincular las contraseñas con un valor hash al generar una nueva cuenta de usuario. De ese modo, cuando se quiere iniciar sesión en la cuenta, la contraseña introducida se transforma en hash y se contrasta con el valor hash almacenado. De igual forma, si el usuario quiere recuperar su contraseña, se creará otro valor hash para la nueva clave.
  • Almacenamiento de datos sensibles: Recordemos que el hash arroja un resultado ilegible para terceros, por lo que en caso de robo de datos estos no podrían ser utilizados.

¿Cuál es la diferencia entre encriptación y hashing?

La encriptación también es un proceso mediante el que se convierte un conjunto de datos para que sean ilegibles a terceros.

La diferencia entre encriptación y hashing es que el primero va en dos direcciones, mientras que el segundo es unidireccional.

Es decir, con la encriptación, los datos pueden descifrarse y regresar a su forma original. Sin embargo, en el hashing, como ya explicamos, esto no es posible.

Ejemplo de hash

Veamos dos ejemplos de valores hash:

Input: La canción del verano.
Output: 28db481986d22004c1a64fa54ae3051b52f808bdaaf29a59c1f8c0006e9660da

Input: A Pedro no le gusta el café con leche
Output: eac98d6cb70c9a080d30d8fda14373032ba5cad450944df3f4fa83378acb56dc

¿Buscas una plataforma de inversión para comprar criptomonedas? Mira nuestra recomendaciones
Scalable Capital

Consigue una acción de Tesla, Apple o Zalando

Ver más
Interactive Brokers

1.54M cuentas de clientes

Ver más
ETORO

+ de 20 millones de usuarios

Ver más

¿Quieres referenciar esta definición?
Hash, GuillermoWestreicher, 26 de marzo del '24, Rankia.com
Definiciones de por letra