¿Se consideraría una buena práctica hacer que el salt para una contraseña sea el hash del nombre de usuario del usuario? [duplicar]

0

Escuché que era una buena práctica hacer que cada usuario tenga un salt único, cuando estoy marcando la contraseña de un usuario con un salt. Mi pregunta es, ¿puedo hacer que mi sal sea un hash del nombre de usuario del usuario? Ej.

$username_hash = hash($username);
$pwd_hash = hash($username_hash + $password);

¿Se consideraría aceptable algo así? Y lo más importante, seguro?

Editar:

Sé que podría hacer

    $pwd_hash = hash($username + $password);

Pero si lo hago no protege de las tablas de arco iris, aunque un hash del nombre de usuario lo haría.

    
pregunta Alex Jone 29.10.2017 - 15:22
fuente

1 respuesta

3

No.

Recuerde que las personas tienden a reutilizar las contraseñas de un servicio a otro. Si dos sistemas usan su esquema y alguien usa el mismo nombre de usuario y contraseña en ambos sistemas, terminarán con el mismo hash en ambos casos.

Las sales no son secretas, y técnicamente el requisito de aleatoriedad en ellas no es tan fuerte como lo que se requiere para las claves criptográficas, es mejor generarlas de la misma manera que generarías las claves solo para evitar este y otros tipos de errores que la gente comete al crear sales.

    
respondido por el Jeffrey Goldberg 30.10.2017 - 03:44
fuente

Lea otras preguntas en las etiquetas