Skip to main content

¿Qué es una función hash?

Una función hash es un método de verificación de errores informáticos y organización de datos. Se manipula una gran cantidad de datos con un algoritmo matemático hasta que queda un pequeño número. Este número se usa como parte del catálogo que permite que una computadora encuentre esa información específica más adelante. Una buena función hash debería dar un resultado lo suficientemente pequeño para que sea fácil de usar, pero proporcionar un resultado único para cada conjunto de datos. Una función hash también proporciona una comprobación mínima de errores, ya que un dato dañado y un buen dato deberían producir resultados diferentes cuando se procesan hash.

En una base de datos de computadora, generalmente es más fácil guardar ubicaciones con números en lugar de letras. Los dígitos tienen una cantidad mucho mayor de métodos de organización y clasificación que las letras. Como resultado, los números a menudo se asignan a ubicaciones que contienen información variable dentro de la base de datos de una computadora. Estos números pueden ser arbitrarios o representativos de la información.

Los números arbitrarios simplemente se asignan según la posición en la memoria de la computadora o el orden en que se guardaron los datos. Guardar información de esta manera es común en bases de datos más pequeñas o en lugares en los que los datos no cambian con mucha frecuencia. Cuando se usa en otras áreas, la reindexación de la base de datos comienza a tomar más y más tiempo hasta que deja de ser eficiente.

La información representativa es donde entra la función hash. La información, independientemente de lo que contenga, se traduce en números. Estos números se introducen en una construcción matemática que genera un número pequeño, generalmente un número entero. Si la función hash funciona correctamente, cada ubicación en esa parte de la base de datos tendrá su propio resultado único. Si dos o más ubicaciones tienen el mismo resultado, los programas podrían mostrar la información incorrecta en función del hash duplicado.

También es posible utilizar una función hash para otras cosas. Grandes cantidades de datos altamente repetitivos se pueden dividir en valores más pequeños. Esto es especialmente bueno cuando se buscan secuencias repetidas en grandes conjuntos de datos. Por ejemplo, el ácido desoxirribonucleico (ADN) está formado por un número muy pequeño de componentes diferentes. Al dividir esos componentes utilizando valores hash, los lugares donde dos cadenas de ADN son iguales y diferentes se vuelven muy claras, simplemente al comparar dos pequeñas columnas de números.

La última área en la que las funciones hash son útiles es la comprobación de errores. Cuando la información se codifica inicialmente, el valor se registra como parte del índice de la ubicación. Si esa información se necesita más tarde, la información se recupera junto con ese valor. Si el programa vuelve a compartir la información y el resultado es diferente, se produjo un daño en algún momento. Esta corrupción generalmente es con los datos, ya que una corrupción de hash habría evitado que los datos se recuperen en primer lugar.