Estou pensando há algum tempo, por que a execução de "echo 'helloworld' | openssl passwd -1 -stdin" gera resultados diferentes a cada vez? Se eu colocar algum dos hashes no meu / etc / shadow, posso usá-los como meu senha e login no meu sistema, como 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/
Penso que, como uso esse hash para descrever ao sistema qual deve ser minha senha, sempre obtenho os mesmos resultados. Por que não?
Respostas:
Todos eles têm um sal diferente . Um sal único é escolhido a cada vez, pois os sais nunca devem ser reutilizados. O uso de um sal exclusivo para cada senha os torna resistentes a ataques de tabelas arco - íris .
fonte
De fato, se você fornecer sal à linha de comando, sempre obtém o mesmo resultado.
fonte