bcrypt とランダムに生成されたソルト
bcrypt は、セキュリティを強化するためにソルティングを利用するパスワード ハッシュ アルゴリズムです。ソルティングでは、ランダム データをパスワード ハッシュに組み込み、同じパスワードでも異なるハッシュ結果が生成されるようにします。
提供される PHP クラスには、genSalt() と呼ばれる関数が含まれています。 openssl_random_pseudo_bytes() 関数を使用したランダム ソルト。このソルトは、genHash() 関数の bcrypt ハッシュ プロセスの一部として使用されます。
genHash() 関数はパスワードを受け取り、それをランダムに生成されたソルトと組み合わせます。結果のハッシュは、元のパスワード、ソルト、および bcrypt アルゴリズムとそのパラメータ (ワークロード係数など) を示すアルゴリズム固有のプレフィックス ($2y$) を組み合わせたものです。
パスワードを検証するために、提供された verify() 関数は、入力されたパスワードと保存されているハッシュを比較します。これは、提供されたパスワードを保存されたハッシュと連結し、crypt() 関数を使用して再度ハッシュすることによって行われます。
ランダムにソルトが生成される理由を理解するための鍵保存されているハッシュの形式を調べることによるパスワード検証には影響しません。ハッシュは 2 つの主要な部分で構成されます:
verify() 関数が指定されたパスワードを保存されたハッシュでハッシュ化するとき、ソルト部分のみを入力として使用します。これにより、ソルトが検証プロセスに組み込まれることが保証されます。
要約すると、bcrypt はパスワードのセキュリティを確保するためにランダムなソルトを生成しますが、パスワード検証プロセスでは、パスワードのソルト部分のみが考慮されます。保存されたハッシュ。これにより、ソルトがランダムに生成された場合でも、提供されたパスワードを保存されたハッシュと照合して検証できます。
以上がランダムに生成されたソルトは bcrypt によるパスワード検証に影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。