Zastanawiam się od jakiegoś czasu, dlaczego uruchamianie „echo 'helloworld' | openssl passwd -1 -stdin" daje różne wyniki za każdym razem? Jeśli wstawię jakiś skrót w / etc / shadow, mogę użyć go jako mojego hasło i login do mojego systemu, jak to działa?
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/
Pomyślałbym, że ponieważ używam tego skrótu do opisywania w systemie, jakie powinno być moje hasło, powinienem uzyskiwać te same wyniki za każdym razem. Dlaczego ja nie
Odpowiedzi:
Wszystkie mają inną sól . Za każdym razem wybiera się unikalną sól, ponieważ nigdy nie należy jej ponownie używać. Użycie unikalnej soli dla każdego hasła czyni je odpornymi na ataki tęczowego stołu .
źródło
Rzeczywiście, jeśli podasz sól do linii poleceń, zawsze otrzymasz ten sam wynik.
źródło