mkpasswd コマンドの結果に問題があります。同じ単語を使用して同じハッシュ結果を繰り返し再現する必要がありますが、-Sオプションを使用しないと、ソルト処理された任意の単語でハッシュが生成されます。パスワードを入力するとどうなりますか?私の質問は次のとおりです。
-S オプションを使用します。 -
password: p4ssw0rd
word: 22446688
output: $6$22446688$kQPZPIx3oZHwJ/l1xteaU5CqM0m7IoglQPFtDwUSMYCUAHkRUAIAfETjvgJmXhwLm4NVI5DHTXYt9d25cnZN3/
結果は常に同じです****
-S オプションがありません。 -
出力:
$6$nLtu32Q.5ZtRwK9x$z51ORpMvbOmxRj2IveXlqZnBZI16Fnvn4HQA7JBAFIPbhTI/gugtq0XCS3bBl80JBTDrROrm9emMpyRaZt0Pv0
結果は絶えず変わります****
単語を繰り返し使用すると結果は同じで、単語を使用しないと結果が異なるため、私の質問は-Sオプションなしでオプションを選択し、それを使用してパスワードを暗号化する場合です。パスワードを入力すると、パスワードのみがあるため、パスワードが比較され、同じであることが保証されますが、これはオプションでランダムに割り当てられるため、塩の単語がわかりません。それとも、その単語がパスワードのハッシュと共に保存されているので、知る必要がないので問題にならないのでしょうか?
ベストアンサー1
塩の値を使用する理由は、塩の値ごとに結果が異なるためです。すべてのパスワードに同じソルトを使用すると、ソルト使用の利点が無効になります。
パスワードを確認する機能がどのソルトが使用されているかをどのように知ることができるかについては、ソルトはパスワードハッシュの一部として保存されます。最初の実装では、最初の2文字を使用してソルトを表し、その後にハッシュ値を表します。パスワードハッシュは、シンボル$
で区切られた複数のフィールドにフォーマットされます。最初のフィールドは使用されるアルゴリズムを指定し、その後にオプションのパラメータ、ソルト値、ハッシュ自体が続きます。
あなたの場合、出力に塩の値が含まれています。22446688
$6$22446688$...
2番目のコマンドでは、saltは任意の値です。nLtu32Q.5ZtRwK9x
$6$nLtu32Q.5ZtRwK9x$...
パスワード検証はアルゴリズムとソルトを含む文字列全体を取得するため、パスワードを確認できます。