以下のようにハッシュされたパスワードフレーズが表示されます/etc/shadow
。私はその形式をよく理解していません。
$y$j9T$F5Jx5fExrKuPp53xLKQ..1$X3DX6M94c7o.9agCG9G317fhZg9SqC.5i5rd.RhAtQ7
下図のように4つの部分で構成されています。によるとcrypt(5)
。y
yescrypt
https://manpages.debian.org/unstable/libcrypt-dev/crypt.5.en.html
- y
- j9T
- F5Jx5fExrKuPp53xLKQ..1
- X3DX6M94c7o.9agCG9G317fhZg9SqC.5i5rd.RhAtQ7
最後の3つの部分はどういう意味ですか?
答え1
「次の部分はどういう意味ですか?」と答えてください。crypt(3)
機能":
id
param
salt
hash
もっと詳しく説明しましょうここ。
新しいyescrypt
「パスワードハッシングスキーム」に関しては、2番目のフィールドの意味は、以下を読んで理解することができます。これ、もっと知りたいなら読んでください。yescrypt v2 仕様。
詳しく調べてみると、関数でハッシュが発生しているようです。yescrypt_r。コードでさまざまなパラメータ定義を表示できます。 isの場合、
where isの最初の数字の数字に設定し、その関数を使用してrとpを解析します。id
7
N
2^x
x
param
decode64_uint32_fixed
残りのフィールドでparam
。
他のすべての場合(たとえば、関数が値を確認し、そうでなければ返すため、isのid
場合のみ)、ソースは条件付きでさまざまなパラメータを設定し、ソースとは反対を理解しようとする方法でコードブロックを作成します。作家の願い。だから私はそれを読者に練習として残す。y
id
7
y
同じファイル内の関数はいパスワード次にcrypt(3)
。