태그 보관물: md5

md5

md5 비밀번호가 다르게 해시되는 이유는 무엇입니까? 암호 및 시스템에 로그인하면

한동안 궁금해했는데 왜 “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/

이 해시를 사용하여 암호가 무엇인지 시스템에 설명하기 때문에 매번 동일한 결과를 얻어야한다고 생각합니다. 왜 안 그래?



답변

그들 모두는 다른 소금을 가지고 있습니다 . 소금은 절대 재사용해서는 안되므로 매번 고유 한 소금이 선택됩니다. 각 비밀번호에 고유 한 솔트를 사용하면 레인보우 테이블 공격에 대한 내성이 있습니다 .


답변

실제로 명령 행에 솔트를 제공하면 항상 같은 결과를 얻습니다.

$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/


답변