¿Qué son los hashes?
Los hashes son fórmulas matemáticas que toman una cadena de datos de longitud variable, generalmente en forma de texto, y los convierten en valores numéricos más cortos y de longitud fija. Los hash se usan con frecuencia en bases de datos de computadora para hacer las búsquedas más rápido y más eficiente. También se usan en cifrado para garantizar que las contraseñas no estén comprometidas y para autenticar las firmas digitales, entre otros usos. Los hash también van con el nombre de las funciones hash, y también pueden considerarse algoritmos.
Los hashes juegan un papel importante en la facilitación de las búsquedas de bases de datos. En una base de datos que consta de nombres, por ejemplo, si un usuario busca "John Doe", la computadora tendría que hacer coincidir todos los personajes en la búsqueda de los de cada entrada de base de datos. Cada personaje en el nombre tendría 26 posibilidades diferentes, las letras del alfabeto inglés, mientras que la longitud variable de las entradas también ralentizaría la búsqueda.
Por el contrario, la aplicación de una función hash haría la cLa vida de omputer es mucho más fácil. Convertir cada cadena de texto en una serie de números simplificaría la búsqueda, porque la computadora solo tendría diez posibilidades para verificar cada personaje: dígitos "0" a "9". La longitud fija de la serie de números también ayuda a la computadora a hacer su trabajo de manera más eficiente.
En una base de datos con una función hash aplicada, todas las entradas tienen un número único y correspondiente. Esto se llama clave hash. En este caso, cuando realiza una búsqueda, la computadora aplica por primera vez la función hash a la entrada que ha escrito, como "John Doe". Esto da como resultado un valor numérico, por ejemplo "456789". La computadora puede igualar rápidamente este resultado con la tecla hash correspondiente a la entrada correcta.
Los hash también funcionan como firmas digitales. Por ejemplo, un remitente, Robert, quiere enviar un documento a alguien y la receptor, Mary, quiere asegurarse de que el documento no haya sido TAMPErojo con mientras se dirige. El remitente, Robert, solo tiene que ejecutar el documento a través de una función hash, lo que da como resultado un valor numérico. Robert luego cifra la clave hash y envía el documento junto con la tecla cifrada.
Mary recibe ambos elementos y descifra la clave hash. Ahora puede ver el valor numérico que resultó del documento antes de que se envíe. Para verificar que el documento en sus manos sea exactamente el mismo, ejecuta el documento a través de una función hash en su computadora. Por último, ella compara ambas claves. Si son los mismos, entonces el documento no fue alterado en su camino hacia el destinatario.
existen muchas funciones de hash diferentes, cada una con sus propias fórmulas matemáticas. Para que funcione una función hash, debe minimizar cualquier colisión, que ocurra cuando dos entradas de base de datos tienen la misma clave hash. Las funciones hash también deben ser unidireccional. Eso significa que puede producir una clave desde la entrada o el documento de una base de datos, pero no al revés. En otras palabras, no puedes "revertir en inglésneer ”el documento original de su clave hash.