sencillos pwdencrypt preparar normal hashbytes hacer espaguetis espagueti desencriptar como caseros hash salt

pwdencrypt - ¿Qué viene primero, la sal o el hash?



desencriptar hashbytes sql server (5)

De acuerdo, sé que esto es probablemente muy simple, pero parece que no puedo encontrar una respuesta directa en ninguna parte. Digamos que tengo lo siguiente:

Password: "mypassword" Salt: 1234567

¿La idea de salazón es hacer algo como hash(password + salt) o hash(password) + salt ? Supongo que solo lo primero tiene sentido, pero solo quiero asegurarme de que no me falta algo.

Por favor, perdona mi ignorancia.


En realidad, es salt + hash(salt+password) (la sal es parte del cálculo de hash, pero también debes mantenerla limpia)


Estoy agregando estos enlaces a esta pregunta para completar: este tema de hashing salado requiere una amplia comprensión de los temas que se alimentan para evitar errores costosos.

Un punto clave que no se expresa del todo en las respuestas aquí es la necesidad de utilizar una sal única para cada contraseña. Para detalles sobre por qué, lea los artículos vinculados.

¿Por qué hacer que cada sal sea única? Salting Your Password: Best Practices?

Visión amplia sobre el tema: Generación de sal y software de código abierto


La sal debe ser parte del cálculo de hash


Lo tienes, es el primero.

Si acaba de concatenar la sal y el hash, un atacante puede simplemente eliminar la "sal" y usar una tabla de arco iris. Al mezclar el texto sin formato + sal, la sal no se puede excluir.


hash (contraseña + sal). Si concatena la sal después del hash, la concatenación es fácilmente reversible y no agrega ninguna dificultad para invertir el hash en la contraseña (con tablas rainbow).

Dicho esto, algunos sistemas hacen ambas cosas, p. Ej., Django almacena sales $ hash (salt + password) en la base de datos. Esto es simplemente para que cada dato necesario para verificar la contraseña contra el hash esté disponible en un solo lugar.