web-dev-qa-db-ja.com

パスワードを保存するために使用するハッシュアルゴリズムは、sha256またはsha512ですか。

パスワードの保存に使用するハッシュアルゴリズムは、sha256またはsha512のどちらが適していますか?

sha512sha256よりも安全であることは知っていますが、いくつかの欠点があるのか​​、それともsha256よりも完全に優れているのかと思っていました。

1
Mohamad

@cthulhuがコメントで述べている点を拡大すると、これに対する正解は「nether」です。 SHA2ファミリーのハッシュアルゴリズムは、パスワードの保存用に設計されていないため、汎用のハッシュアルゴリズムを使用する以外に方法がない場合は、使用しないでください。

引用する この答え これの主な理由は

基本的なハッシュ関数は、たとえハッシュ関数として安全であっても、次の理由からパスワードハッシュには適していません。

  • それは無塩であり、並行攻撃を可能にします(MD5またはSHA-1のレインボーテーブルは無料で入手できます。自分で再計算する必要すらありません)。

  • それは速すぎて、技術の進歩により速くなります。最近のGPU(つまり、誰でも購入できる既製のコンシューマー製品)では、ハッシュ率は1秒あたり数十億のパスワードでカウントされます。

14
Rory McCune