Cuando vamos aprendiendo sobre las buenas prácticas al momento de guardar información sensible en nuestras bases de datos, viene la interrogante del cómo puedo almacenar mis contraseñas de forma segura.
Para ello en seguridad informática y en muchas de sus áreas (Desarrollo web, Big Data, machine learning, etc..) se habla de #hashing y #salting.
Hashing
Es considerado hasta una violación a las leyes de seguridad informática en muchos países, el guardar las contraseñas de los usuarios en texto plano (tal y como el usuario las digite). Para evitar esta mala práctica en la mayoría de casos nos auxiliamos de un algoritmo criptográfico el cual convierte la contraseña ingresada en una combinación de letras, números y caracteres especiales que al final no serán entendibles por el ojo humano.
Ejemplo
Usuario: admin
Contraseña: admin1234 (por cierto mala práctica el colocar en tu contraseña tu nombre usuario)
Después de realizar el hashing quedaría algo así $2a$12$LtZ9b2NeQga0BAdi8ntTn.9fcAfAP0y1sbYEPN/Naikw5424gtYAG
Salting
Salting
En ocasiones es necesario agregar otra capa de seguridad como una llave privada (como cuando hablamos de SSH) en este aspecto entra en escenario el salting. El cual consiste en que antes de que se genere el hash de nuestra contraseña agregar un conjunto de letras, números y símbolos (entre mas largo mejor) para así en caso de que alguien malintencionado obtenga acceso a nuestras bases de datos a pesar de tener el hashing, sin el salting correcto no podrá hacer match.
Puedes encontrar mas información del tema en el siguiente link
Top comments (0)