4

私はデータベースにパスワードを保存するためにbcryptを使用しています。作業係数 7 を使用しています。これは、かなり最新のラップトップで単一のパスワードをハッシュするのに約 0.02 秒かかります。

Coda Hale 氏は、bcrypt を使用すると、作業要素を微調整することで「ムーアの法則に遅れずについていく」ことができると述べています。しかし、平文を保存していないため、ユーザーのパスワードを再暗号化する方法はありません。データベースをクラックされにくく最新の状態に保つにはどうすればよいですか (これが問題になるまでに 5 年以上かかると仮定して)。

4

1 に答える 1

9

ログイン時に再暗号化します。最適な bcrypt ワーク ファクターを参照してください。

値は password: に保存されることに注意してください$2a$(2 chars work)$(22 chars salt)(31 chars hash)。固定値ではありません。

負荷が高すぎるとわかった場合は、次にログインしたときに、より高速な計算に暗号化するようにしてください。同様に、時間の経過とともにサーバーが改善され、負荷が問題にならない場合は、ログイン時のハッシュの強度をアップグレードできます.

秘訣は、ムーアの法則に従って、ほぼ同じ時間を将来にわたって永遠にかけ続けることです。数値はlog2なので、コンピューターの速度が2倍になるたびに、デフォルトの数値に1を加えて……

于 2011-04-29T11:09:03.063 に答える