/ / Función hash: qué es, por qué se necesita y qué sucede

Función hash: qué es, por qué se necesita y qué sucede

A menudo, al descargar torrents olos archivos en sí en la descripción son algo así como "ad33e486d0578a892b8vbd8b19e28754" (por ejemplo, en ex.ua), a menudo con la posdata "md5". Este código hash es el resultado que produce la función hash después de procesar los datos entrantes. Traducido del inglés, hash significa confusión, marihuana, marihuana o un plato de carne y verduras finamente picadas. Descifrar el hachís es muy, muy difícil, podemos decir que es casi imposible. Entonces surge la pregunta: "¿Por qué son necesarias todas estas funciones hash, si dan un galimatías incomprensible, que aún no se puede descifrar?" Este es el tema de este artículo.

¿Qué es una función hash y cómo funciona?

función hash
Esta función está diseñada para convertirIngrese datos de tamaño arbitrariamente grande en un resultado de longitud fija. El proceso mismo de tal transformación se llama hash, y el resultado se llama hash o código hash. A veces, las palabras "huella digital" o "resumen de mensaje" todavía se utilizan, pero en la práctica son mucho menos comunes. Existen muchos algoritmos diferentes para convertir cualquier matriz de datos en una determinada secuencia de caracteres de cierta longitud. El más extendido es un algoritmo llamado md5, que se desarrolló en 1991. A pesar del hecho de que hoy md5 está algo desactualizado y no se recomienda su uso, todavía está en uso y, a menudo, en lugar de la palabra "código hash", los sitios simplemente escriben md5 e indican el código en sí.

¿Por qué se necesita una función hash?

descifrar hash
Conociendo el resultado, es casi imposible determinardatos originales, pero la misma entrada da el mismo total. Por lo tanto, la función hash (también llamada función de plegado) se usa a menudo para almacenar información muy importante, como una contraseña, inicio de sesión, número de identidad y otra información personal. En lugar de comparar la información ingresada por el usuario con la almacenada en la base de datos, se comparan sus hashes. Esto garantiza que, en caso de una filtración accidental de información, nadie podrá utilizar datos importantes para sus propios fines. Al comparar el código hash, también es conveniente verificar la corrección de la descarga de archivos de Internet, especialmente si hubo interrupciones en la conexión durante la descarga.

Funciones hash: que sont

funciones hash
Dependiendo de su propósito, la función hash puede ser de uno de estos tres tipos:

1. Función para verificar la integridad de la información

Cuando los datos se transmiten a través de la red,se calcula el hash del paquete y este resultado también se transmite junto con el archivo. Tras la recepción, el código hash se calcula de nuevo y se compara con el valor recibido a través de la red. Si el código no coincide, esto indica errores y el paquete dañado se transmitirá nuevamente. Esta función tiene una velocidad de cálculo rápida, pero una pequeña cantidad de valores hash y poca estabilidad. Un ejemplo de este tipo: CRC32, que tiene solo 232 valores diferentes.

2. Función criptográfica

Este tipo se utiliza para proteger contraacceso no autorizado (ND). Le permiten verificar si se han producido daños en los datos como resultado de ND durante la transferencia de archivos a través de la red. El verdadero hash en este caso está disponible públicamente, y el hash del archivo resultante se puede calcular utilizando muchos programas diferentes. Estas funciones tienen una vida larga y estable, y la búsqueda de colisiones (posibles coincidencias del resultado de diferentes datos de entrada) es muy difícil. Son estas funciones las que se utilizan para almacenar contraseñas (SH1, SH2, MD5) y otra información valiosa en la base de datos.

3. Una función diseñada para crear una estructura de datos eficiente

Su finalidad es ser compacta y justaorganización ordenada de la información en una estructura especial llamada tabla hash. Esta tabla le permite agregar nueva información, eliminar información y buscar los datos que desea a una velocidad muy alta.