ホームページ >データベース >mysql チュートリアル >ハッシュ化されたパスワードの保存にはどのようなデータ型と長さを使用する必要がありますか?

ハッシュ化されたパスワードの保存にはどのようなデータ型と長さを使用する必要がありますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 02:14:17607ブラウズ

What Data Type and Length Should I Use for Storing Hashed Passwords?

ハッシュ化されたパスワードのデータ型と最適な長さ

質問: ハッシュ化されたパスワードの適切なデータ型と長さを決定するにはどうすればよいですか?

パスワードのハッシュ化を実装する場合、ハッシュ化されたデータを保存するための適切なデータ型と長さを選択することが重要です。価値観。通常、ハッシュ関数は固定長の結果を生成しますが、長さと表現は特定のアルゴリズムに応じて異なります。

答え: データ型と長さの選択は、ハッシュ アルゴリズムによって異なります。採用:

  • MD5: 128 ビット ハッシュ。 CHAR(32) または BINARY(16) として保存できます。
  • SHA-1: 160 ビット ハッシュ。 CHAR(40) または BINARY(20) として保存できます。
  • SHA-256: 256 ビット ハッシュ。 CHAR(64) または BINARY(32) として保存できます。
  • SHA-512: 512 ビット ハッシュ。 CHAR(128) または BINARY(64) として保存できます。
  • BCrypt: 448 ビット ハッシュ。 CHAR(56)、CHAR(60)、CHAR(76)、BINARY(56)、または BINARY(60) が必要な場合があります。

推奨事項:

NIST は、相互運用性アプリケーションには SHA-256 以降のハッシュ関数を使用することを推奨しています。ただし、これらのハッシュ関数だけを利用するだけでは、パスワードを安全に保管するには不十分です。

そのため、Bcrypt や Argon2i などのキー強化ハッシュ アルゴリズムを使用することをお勧めします。たとえば、PHP のpassword_hash() 関数はデフォルトで Bcrypt を使用し、60 文字のハッシュを生成します。これに対応するには、ストレージに CHAR(60) データ型を使用することを検討してください。

以上がハッシュ化されたパスワードの保存にはどのようなデータ型と長さを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。