PHP でのパスワード セキュリティについて調べていたところ、興味深いステートメントを見つけました。
ソルトとしてパスワードをそのハッシュでハッシュすると、同じハッシュが返されます
あまり考えずにphp.netにアクセスしたところ、同じことを言っていることがわかりました。
例を見てみましょう:
crypt("test", "test"); -> teH0wLIpW0gyQ
crypt("test", "teH0wLIpW0gyQ"); -> teH0wLIpW0gyQ
PHP の crypt が、指定された文字列の一方向ハッシュを生成することは完全に理解できます。
- 私が理解できないのは、2 つのまったく異なるソルトを使用して同じハッシュ出力を取得する方法です。
- 同じハッシュを与える可能性のある他のソルトが存在する可能性があるということですか?
ファローアップ
ご指摘いただきありがとうございます。デフォルトの動作はソルトの最初の 2 文字のみを使用することであることがわかりました。これにより、すべての質問に完全に答えることができます。ばかげたような気がしますが...