Me he estado preguntando por un tiempo, ¿por qué ejecutar "echo 'helloworld' | openssl passwd -1 -stdin" produce resultados diferentes cada vez? Si pongo alguno de los hashes en mi / etc / shadow, puedo usarlos como mi contraseña e inicio de sesión en mi sistema, ¿cómo funciona?
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$xlm86SKN$vzF1zs3vfjC9zRVI15zFl1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$/0.20NIp$pd4X9xTZ6sF8ExEGqAXb9/
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$sZ65uxPA$pENwlL.5a.RNVZITN/zNJ1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$zBFQ0d3Z$SibkYmuJvbmm8O8cNeGMx1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$PfDyDWER$tWaoTYym8zy38P2ElwoBe/
Creo que debido a que utilizo este hash para describir al sistema cuál debería ser mi contraseña, debería obtener los mismos resultados cada vez. ¿Por qué yo no?
Respuestas:
Todos tienen una sal diferente . Se elige una sal única cada vez, ya que las sales nunca deben reutilizarse. El uso de una sal única para cada contraseña los hace resistentes a los ataques de la mesa arcoiris .
fuente
De hecho, si proporciona la sal a la línea de comando, siempre obtendrá el mismo resultado.
fuente