Hash y sal. Con ejemplo | Seguridad Web | Programando en ASP.NET MVC 5

preview_player
Показать описание
Hash se refiere a la idea de tomar un string, y transformarlo en otro, prácticamente ilegible. La idea de esto es poder proteger información. Es un proceso común a la hora de guardar passwords en nuestras bases de datos. Nunca guardamos el password como tal, sino que guardamos el hash.

En este video aprenderemos qué es un hash, y por qué es importante utilizar una sal a la hora de aplicar un algoritmo de hash.

Al texto que le ingresamos a la función hash le llamamos texto plano, y al string resultante le llamamos hash. La idea del hash es que no hay manera de, partiendo del hash, llegar al texto plano. La única manera sería teniendo en una base de datos todos los hash posibles con sus textos planos correspondientes (lo cual es inviable). De todos modos, existen bases de datos de hash para esto, que tienen los textos planos más comunes. Para protegernos de esto, utilizamos la sal.

La sal se refiere a colocar un string aleatorio dentro del texto plano, para así lograr que el hash generado sea completamente diferente a un hash generado con el mismo texto plano. Esto hace que los ataques basados en buscar coincidencias de hash con una base de datos sea inutil.
Рекомендации по теме
Комментарии
Автор

HOLA FELIPE, UNA VEZ MAS, EXCELENTE TU EXPLICACIÓN, GRACIAS POR ESTOS APORTES.

mpalaciost
Автор

Puedes aclararme algo, por favor:

La salt se guarda junto a la password ya hasheada (una al lado de la otra). No se usa la salt en el proceso de hasheo.

Entonces, ¿basta con saber cuántos carácteres usa la salt y, a qué lado de la password hasheada está, para saltársela (la salt) y usar rainbow tables con las password hasheadas?

Me refiero a un caso en que alguien tenga acceso a la base de datos.

esiem_
Автор

Hola Felipe. Tengo una base de datos donde accedo por un lado con ASP que me crea los hash de forma transparente y por otro lado una aplicación de Windows forms que también accede a la misma base pero no sé como trabajar con hash en este entorno. Podrías explicarlo? Gracias.

arielfontana
Автор

MI ESTIMADO, OJALÁ PUEDAS REALIZAR UN EJERCICIO APLICANDO CÓDIGO CAPCHA EN EL LOGIN. SALUDOS DESDE LIMA - PERÚ

mpalaciost
Автор

Hola Felipe consulta estabien esto le he implementado hashAlgorithmoName.Sha256 =>
```
using (Rfc2898DeriveBytes bytes = new(passWord, 16, 1000, HashAlgorithmName.SHA256))
```
No se talvez sea mas para especificar verdad que tipo de codificacion se va a usar, pero bueno dime que opinas?

MrElmarqueli
Автор

Tengo una duda, cómo puedo iniciar una sesión si el password no es reversible para poder entonces verificar si es el usuario ?

senorx