このパスワードのハッシュは初めてです。私はハッシュ+ソルトメイクパスワードを本当に安全に読んだ。しかし、似たようなものがたくさんあるので、どのハッシュアルゴリズムを使用すべきかまだ混乱しています。
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
等
どちらが自分に適しているか、すべてが等しいかをどのように判断できますか。盲目的に誰かを迎えに行くことはできますか?
このパスワードのハッシュは初めてです。私はハッシュ+ソルトメイクパスワードを本当に安全に読んだ。しかし、似たようなものがたくさんあるので、どのハッシュアルゴリズムを使用すべきかまだ混乱しています。
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
等
どちらが自分に適しているか、すべてが等しいかをどのように判断できますか。盲目的に誰かを迎えに行くことはできますか?
MD5 :
1996 年、MD5 の設計に欠陥が発見されました。これは明らかに致命的な弱点ではありませんでしたが、暗号学者は SHA-1 などの他のアルゴリズムの使用を推奨し始めました。
SHA1 :
2005 年、暗号分析者は SHA-1 への攻撃を発見し、アルゴリズムが継続的に使用するには安全ではない可能性があることを示唆しました
SHA256 が一種であるSHA2には、執筆時点で既知の脆弱性はありません。
MD5、SHA-1、さらには SHA-256 などの高速ハッシュ アルゴリズムは、パスワードをハッシュするための適切な選択肢ではありません。これらは速すぎて、ブルート フォースが簡単に実行される可能性があるためです。2013 年には、一般的なハードウェアで 1 秒あたり約3 ギガ SHA-1 値を計算できます。
代わりに、BCrypt や PBKDF2 などの低速のキー派生関数を使用できます。CSharp は PBKDF2 をネイティブでサポートしており、Rfc2898DeriveBytes クラスで実装できます。例はこちら にあります。
このBCrypt ライブラリも使いやすいです。多くの場合、そのようなライブラリを使用することが安全かどうか確信が持てませんが、それを使用することに反対する議論があるとは思いません。ライブラリが正しい値を返し、ソルトを正しく生成する限り、セキュリティは実装ではなくアルゴリズムに由来するため、問題ありません。
MD5はクラック可能と見なされます。SHA1は優れていますが、おそらくクラック可能です。SHA256は良いです。