Utilidad de Hashing en Tecnologías Recientes

En una oración, hashing es la transformación de una clave (entrada) en un valor diferente. Básicamente se realiza mediante el uso de una función o método que toma los datos originales como entrada y realiza algunos cálculos sobre ellos para que el valor resultante no se acerque al original y la función se denomina función hash mientras que la salida es el código hash. . Luego podemos usar este hash para buscar los datos rápidamente en lugar de revisar todo el almacenamiento.

Beneficios del hashing:

En situaciones en las que necesitamos ver si dos archivos son iguales sin verificarlos personalmente, es donde usamos hash. Cuando intentamos transferir archivos para asegurarnos de que el archivo transferido no esté dañado o cambiado, un usuario puede comparar el valor hash de ambos archivos y verificar la igualdad. También podemos decir que el hashing proporciona una forma más auténtica y flexible para recuperar cualquier dato que cualquier otra estructura de datos. 

Podemos ver varias aplicaciones de hashing en nuestra vida cotidiana. Veamos algunas aplicaciones de Hashing:

string de bloques

La base de la criptomoneda es la string de bloques, que no es más que la conexión de bloques individuales de datos de transacciones. Cuando se trata de criptomonedas (por ejemplo, bitcoin), los detalles relacionados con las transacciones se entregan a un algoritmo hash ( SHA-256 ) cuyo resultado es un valor hash que tiene una longitud constante con el que no podemos adivinar cuál es el valor real. los datos eran. Dado que todos estos bloques están vinculados entre sí, si necesitamos cambiar los datos en un bloque en particular, necesitamos cambiar los datos en su bloque anterior y continúa…. . Así es como blockchain se vuelve inmutable y confiable para sus datos.

Cubo AWS S3

El depósito de AWS S3 utiliza el algoritmo hash MD-5. Esto significa que siempre que intentemos cargar cualquier archivo, primero pasará por el código MD-5 y se validará su integridad. Si la validación falla, significa que el valor no es el que ingresó el usuario, lo que genera un mensaje de error junto con la falla al almacenar el objeto.

Supongamos que un usuario diferente necesita algún archivo en el depósito. En primer lugar, lo que haría el usuario en particular sería buscar la etiqueta E dentro de AWS S3. Después de lo cual, el usuario obtendrá el valor MD 5 para el archivo descargado y verificará si ambos coinciden o no. Podemos verificar la integridad del objeto comparando ambos valores para concluir si el objeto fue manipulado, dentro de la red o no se descargó por completo.

Por lo tanto, podemos conocer el proceso detrás de la carga de nuestro archivo, ya sea que haya sido manipulado, cargando o descargando mediante hash.

Contraseñas hash

Cada vez que ingresamos la contraseña de cualquier cuenta, se convierte en una string que no tiene conexión con la contraseña y se almacena en la base de datos. Entonces, cuando un usuario desea registrarse para obtener una cuenta que requiere que elija una contraseña, en lugar de almacenar esta contraseña como texto, se almacena como un hash generado a partir del usuario ingresado. ¿Por qué no deberíamos almacenar la contraseña como texto? Porque si en caso de que un atacante consiguiera acceso a la base de datos, a su vez obtendría acceso a la contraseña real que el usuario pudo haber utilizado para diferentes cuentas (razón por la que la mayoría de los sitios web advierten que no se debe utilizar la misma contraseña en todas partes). Cuando cualquier usuario quiere iniciar sesión, ingresa su contraseña que se codifica y se verifica con los valores en su base de datos para verificar si la contraseña ingresada es correcta. 

Tokenización

Los tokens de tarjetas de crédito se utilizan para intercambiar los datos del cliente con una identificación alfanumérica que no tiene un valor definido ni relación con el propietario de la cuenta. Los tokens en sí mismos no contienen ningún dato útil para el consumidor. Estos tokens tienen los datos de ubicación donde se almacenan los datos del usuario en el banco del cliente. Por ejemplo, si queremos comprobar si un token corresponde a una Tarjeta, basta con comparar el hash de la tarjeta con el token. Además, no hay forma de revertir el token porque no se ha almacenado en una tabla con la tarjeta y el token.

Algoritmo de Rabin-Karp

Michael O. Rabin y Richard Karp formularon una forma de realizar la búsqueda de strings mediante la implementación de hash, lo que resultó en la complejidad temporal O(M + N) en comparación con la O(MN) normal. Básicamente se utiliza para buscar una string. Dependiendo del tamaño de la string, seguimos calculando los valores hash para un patrón. Uno es para la string original y el otro es para la secuencia de caracteres en la string que continuamos cambiando hacia el final de la string. Una vez que obtengamos la coincidencia de los dos hash, debemos verificar las strings originales nuevamente, ya que diferentes strings pueden tener el mismo hash. Continuamos esto hasta llegar al final de la cuerda.

 

Publicación traducida automáticamente

Artículo escrito por adichavan095 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *