我一直想知道,为什么每次运行“ echo'helloworld'| openssl passwd -1 -stdin”都会产生不同的结果?密码并登录到我的系统,它如何工作?
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/
我会认为,因为我使用该哈希值向系统描述了我的密码,所以每次都应该获得相同的结果。我为什么不呢?
3
如果每次都相同,则攻击者可能会哈希数十亿个通用密码并轻松地检查它们。
—
David Schwartz 2013年