Hash
De Wikipedia, la enciclopedia libre
En computación un hash o función resumen se refiere a una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc.
Una función hash puede generar dos claves iguales para objetos diferentes, ya que el rango de posibles claves es mucho menor que el de posibles objetos a resumir (las claves suelen tener en torno al centenar de bits, pero los ficheros no tienen un tamaño límite).
Estos métodos son muy variados, pueden llegar a tomar en cuenta diversos parámetros tales como el nombre de un archivo, su longitud, hora de creación, datos que contenga, etc. aplicándole diversas transformaciones y operaciones matemáticas. Algunas aplicaciones de las funciones resumen son las siguientes:
- Identificar algún archivo de computadora independientemente de su nombre o ubicación, lo cual es ampliamente usado en redes P2P o Peer to peer (intercambio de archivos puerto a puerto), tales como Kazaa, Gnutella, Overnet, BitTorrent, entre otras.
- Corroborar que el archivo no ha cambiado (que algún virus se haya agregado, se haya copiado con errores, se haya transferido mal, se haya cambiado su comportamiento en caso de ser un ejecutable, etc.), un ejemplo de esto es el algoritmo MD5, el cual es comúnmente empleado para corroborar la integridad de un archivo bajado de internet, usualmente en la misma página que se publica el archivo, se encuentra su hash MD5 para que una vez bajado a nuestra computadora comprobemos que se haya bajado correctamente. Esto es una práctica común dentro del ambiente del software libre, donde después de bajar el archivo se puede comprobar su integridad ejecutando el comando md5sum e indicándole el archivo a analizar.
- Identificar un registro en una base de datos y permitir con ello un acceso más rápido a los registros (incluso más rápido que teniendo índices).