Hash
Un hash es una función que convierte un valor en otro. Aplicar hash a los datos es una práctica común en las ciencias de la computación y se utiliza para varios propósitos diferentes. Algunos ejemplos son la criptografía, la compresión, la generación de sumas de comprobación y la indexación de datos.
La aplicación de hash es adecuada para la criptografía porque oculta los datos originales con otro valor. Una función hash puede utilizarse para generar un valor que solo se puede descodificar buscando el valor en una tabla hash. La tabla puede ser un arreglo, una base de datos u otra estructura de datos. Una buena función hash criptográfica no es invertible, lo que significa que no se puede aplicar ingeniería inversa para obtener los datos originales.
Diferentes tipos de compresión, como la compresión de imágenes con pérdida y la compresión multimedia, pueden incorporar funciones hash para reducir el tamaño de los archivos. Al convertir los datos en valores más pequeños mediante hash, los archivos multimedia se pueden comprimir en fragmentos más pequeños. Este tipo de hash unidireccional no se puede revertir, pero puede producir una aproximación de los datos originales que requiere menos espacio en disco.
Los hashes también se utilizan para crear sumas de comprobación, que validan la integridad de los archivos. Una suma de comprobación es un valor pequeño que se genera en función de los bits de un archivo o bloque de datos, como una imagen de disco. Cuando la función de suma de comprobación se ejecuta en una copia del archivo, como un archivo descargado de Internet, debería producir el mismo valor hash que el archivo original. Si el archivo no produce la misma suma de comprobación, algo en el archivo ha cambiado.
Por último, los hashes se utilizan para indexar datos. Los valores hash se pueden utilizar para asignar datos a "cubetas" individuales dentro de una tabla hash. Cada cubeta tiene un identificador único que sirve como puntero a los datos originales. Esto crea un índice significativamente más pequeño que los datos originales, lo que permite buscar y acceder a los valores de forma más eficiente.
Pon a prueba tu conocimiento