Implementando la salazón

Hashing se utiliza principalmente con fines de autenticación. Salting hace que el hashing de contraseñas sea más seguro. La salazón es una acción extra durante el hashing. Si dos clientes tienen la misma contraseña, también tendrán los mismos hash de contraseña. Un salt, que es una serie aleatoria de caracteres, es una entrada adicional a la contraseña antes del hash. Esto genera un resultado hash alternativo para las dos contraseñas. La salazón dificulta el uso de tablas de búsqueda y tablas de arco iris para descifrar un hash. Una tabla de búsqueda es una estructura de datos que procesa varias búsquedas hash por segundo.

Implementación de la salazón:
Las siguientes sugerencias se utilizan para implementar la salazón:

  • El tamaño de la sal debe coincidir con el tamaño de la salida de la función hash.
  • Siempre hash en el servidor en una aplicación web.
  • La sal debe ser única para la contraseña de cada usuario.

Un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG) es la mejor opción para producir sal. Es completamente impredecible y produce un número aleatorio. Por lo tanto, es muy seguro.

Para almacenar una contraseña:

  • Use CSPRNG (Generador de números pseudoaleatorios criptográficamente seguro) para producir una sal.
  • Agregue sal al comienzo de la contraseña.
  • Hágalo con SHA-256.
  • Guarda el hachís y la sal.

Para validar una contraseña:

  • Recupera sal y hash de la base de datos.
  • Agregue sal a la contraseña y córtela.
  • Compara el hash de una contraseña determinada con la almacenada en la base de datos.
  • La contraseña es incorrecta si los valores hash no coinciden.

El estiramiento de teclas también se puede utilizar para proteger contra ataques. Evita que el hardware de alta gama pueda calcular miles de millones de hashes por cada segundo menos efectivo.

Publicación traducida automáticamente

Artículo escrito por Abhishek_Ranjan 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 *