「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.