ユーザーのパスワードをデータベースに格納するためにArgon2idを使用することにしました。 2つの質問があります。
質問1
すべての情報を保存する必要がありますが、それは 単一の列 でエンコードして保存する必要があります。おそらくあなたはすでにハッシュライブラリからエンコードされた出力を取得しています。次のようになります( source ):
$argon2i$v=19$m=65536,t=2,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dWRWJTmaaJObG
異なる部分の意味を理解するには、 この質問 を参照してください。
質問2
パスワードハッシュはサーバー側で行う必要があるため、気にする必要のあるクライアントマシンではないことに注意してください。しかし、これは、パフォーマンスの異なるサーバーで実行される可能性のあるサーバーソフトウェアの一種であると思います。
これを構成可能にして、一部のマシンでは遅くなる可能性がある場合でも、強力で安全なデフォルトを設定することをお勧めします。ベストプラクティスが進化し、ハードウェアが改善するため、将来のバージョンでもこれらのデフォルトを更新する必要があります。 (それが2020年のArgon2にどのような意味があるのかはわかりません。)
パフォーマンスの問題に遭遇した人々を助けるために、なぜこの問題があり、低い設定を使用することが危険なのかを説明する優れたドキュメントを作成することを目指します。
弱いデフォルトを設定したり、パフォーマンステストを実行したりすると、人々が無意識に安全でない設定を使用するリスクが伴います。私は、ユーザーに誤った安心感を与えるのではなく、この問題について考えるように強制したいと思います。