이 기능을 사용하여 섀도우 파일에 비밀번호를 생성하고 있습니다.
$ 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.
출력 값이 비밀번호로 어떻게 작동하는지 궁금합니다.
답변1
"man mkpasswd"로 맨페이지를 확인하면 명령이 선택적 인수도 허용하는 것을 볼 수 있습니다.
-S, --salt=STRING
생략하면 임의의 솔트 값을 사용하므로 암호화된 비밀번호 값이 달라집니다.
소금을 주면
mkpasswd -m sha-512 password -s "11223344"
$6$11223344$YzaRt.fnidpXmKw.Dl20htfOrJ8X2Yx3V.h5zUlhlN2SdczempQmQcDcMYd6mHiXlaMqyGt200zDwuZiC8ZZw1
항상 같은 결과를 얻습니다.
그런데 출력 문자열의 시작 부분에서 솔트 값을 볼 수 있습니다. 이는 $
s이고 길이가 8~16자 사이인 값입니다.