アプリを作成していて、bcryptを使用してパスワードを暗号化しています。
私はbcryptについての事前の知識がなく、それでも多くのことを知りません。私はそれが安全であることを知っていますcpu-intensive
暗号化。
昨日それを実装した後、サインアップがextreemeelyyyyyに遅くなり、完了するまでに約5〜10秒かかりました。私は遅いサーバー(サーバーを実行している)だけだと思っていましたが、サーバーにいくつかのブレークポイントを挿入した後、パスワードのハッシュ中に停止していることに気付きました。
ラウンドを15から1に調整したところ、すべてがスムーズに機能し始めました。
また、データベースをチェックして、パスワードが入力パスワードと同じ/類似しているかどうかを確認しました。それは同じようにランダムであるように見えます。それでも、私は人間であり、ブルートフォースボットではありません。
私の質問は、私のコンピューターが本当に非常に遅い場合を除いて、15ラウンドはそれを削減するつもりはありません、そして平均的なサーバーは10秒未満で15ラウンドをハッシュでき、1はまったく安全ではないと思われます。ハッシュするラウンドの?
私はbcryptjs
を使用していますが、速度に役立たない可能性があります-JavaScriptです。
6ラウンドですか、それとも6コストですか?コスト6は2 ^ 6 = 64ラウンドだからです。
今日では、10から12のコストが最小と見なされています。ただし、ハードウェアが処理できる最大値を調べる必要があります。
ハッシュのプロセスには約1秒かかります。