1

ハッシュ化されたパスワードがたくさんありますpbkdf2_sha256$10000$0POUvc6y8M4z$QyldL9qyQO...。SQLクエリでそれらを確認することは可能ですか? 理由を聞かないでください。

4

1 に答える 1

0

通常、データベース システムは、この種のハッシュ関数を単独ではサポートしていません。パスワード ハッシュは検索できないため、とにかくクエリを記述するのは難しいでしょう。ハッシュ値でパスワードを検証するには、次の手順が必要です。

  1. ユーザー名で行を検索します (ハッシュ値では実行できません)。
  2. 見つかった行からパスワード ハッシュを返します。
  3. 保存されたパスワード ハッシュから、使用されたソルトとコスト ファクターを抽出します。
  4. 同じソルトとコスト ファクターを使用して、入力されたパスワードから新しいハッシュ値を作成します。
  5. 保存されたハッシュ値と新しく計算されたハッシュ値を比較します。

つまり、入力したパスワードを検証する前に、まず保存されているハッシュ値を知る必要があります。このようなハッシュ関数は、特に後でアルゴリズムやコスト要素を切り替える必要があり、下位互換性が必要な場合は特に、データベースよりも開発言語に配置する方が確実に適しています。

于 2013-07-03T08:12:20.947 に答える