'mkpasswd -m sha-512'가 호출 될 때마다 왜 다른 결과를 생성합니까?


11

이 기능을 사용하여 섀도 파일에서 비밀번호를 만듭니다.

$ mkpasswd -m sha-512 password
$6$o50n4EfNOBzfs$K5l5AcOI5e0I9n2df0LmR11OLSPKSVM6AGBOnWVfDDfMubb46MrAj0zehdLNEoYzD2fj5q4XUdDwexj/dWLHy/
$ mkpasswd -m sha-512 password
$6$ADmDOhDpW$gsYQuiKPpV1ewaUpRq2VGAvrcocffLQ8XGF94e6LNLZfKIjy6Ku.cZoR/5exeCi1ESjPB9TRM6HxCiY5BCNCV0
$ mkpasswd -m sha-512 password
$6$Efj1agaI$HGkny3q1OTYT4KREh18gueHJae/3Bvil0iOEhfXj8bD.qy9Lg2UIQJMuBcq0XtG3xzueK.7cp0GfKr7tEo5YI/
$ mkpasswd -m sha-512 password
$6$zdVPlCPai4Y$x3CBvlP99xZXZcr4PTiE..YLpZx39h5OHDxqazd9wFLImPuwsXF0M6KmqLzlCCrnQhI2lmEPdCzfmHA/fDiOz.

출력 값이 암호로 어떻게 작동하는지 궁금합니다.



2
명령의 출력은 실제로 소금 (무작위)과 암호 + 소금의 해시입니다. 소금은 무작위이기 때문에 출력은 항상 다릅니다.

답변:


20

"man mkpasswd"로 맨 페이지를 확인하면 해당 명령에도 선택적 매개 변수 -S, --salt=STRING 가 적용됩니다. 생략하면 임의의 솔트 값이 사용되므로 암호화 된 비밀번호 값도 달라집니다.

소금을 제공하면

mkpasswd -m sha-512 password -s "11223344"
$6$11223344$YzaRt.fnidpXmKw.Dl20htfOrJ8X2Yx3V.h5zUlhlN2SdczempQmQcDcMYd6mHiXlaMqyGt200zDwuZiC8ZZw1

항상 같은 결과를 얻습니다.

그건 그렇고, 출력 문자열의 맨 처음에 솔트 값을 볼 수 있습니다 $. 길이는 8 ~ 16 자 사이입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.