P粉5556827182023-08-25 00:55:35
はい、正しく理解できましたね。password_hash() 関数はそれ自体でソルトを生成し、生成されたハッシュ値にソルトを含めます。ソルトが機能することがわかっている場合でも、ソルトをデータベースに保存することは絶対に正しいです。
リーリーあなたが言及した 2 番目のソルト (ファイルに保存されているもの) は、実際にはペッパーまたはサーバー側のキーです。ハッシュする前に(塩と同じように)コショウを加えると、コショウを加えることになります。ただし、より良い方法があります。最初にハッシュを計算し、次にサーバー側のキーを使用してハッシュを暗号化する (両方の方法) ことができます。これにより、必要に応じてキーを変更できます。
ソルトとは対照的に、このキーは秘密にしておく必要があります。よく混同して塩を隠そうとする人がいますが、塩に役割を果たしてもらい、秘密をキーで追加する方が良いでしょう。
P粉3774120962023-08-25 00:34:19
パスワードを保存するには、password_hash
を使用することをお勧めします。データベースとファイルに分けないでください。
次の入力があるとします:
リーリーまず、次の手順を実行してパスワードをハッシュします:
リーリー次に、出力を表示します:
リーリーご覧のとおり、ハッシュ化されています。 (以下の手順を実行したと仮定します)。
ここで、このハッシュされたパスワードをデータベースに保存します。 パスワード列がハッシュ値を収容できる十分な大きさであることを確認してください (少なくとも 60 文字以上) 。ユーザーがログインを要求した場合、次のようにデータベース内のハッシュを使用して、入力されたパスワードを確認できます。 リーリー