ฉันสงสัยอยู่พักหนึ่งแล้วทำไมการใช้ "echo 'helloworld' | openssl passwd -1 -stdin" ให้ผลลัพธ์ที่แตกต่างกันทุกครั้งถ้าฉันใส่ hash ลงใน / etc / shadow ฉันสามารถใช้มันเป็นของฉันได้ รหัสผ่านและเข้าสู่ระบบของฉันมันทำงานอย่างไร
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