はじめに
パスワードセキュリティは、どのソフトウェアアプリケーションでも重要です。 LoltationとSaltは、漏れていないパスワードを保護するための2つの重要な技術です。Davidhaydenコード:基本的な拡張機能と塩
Davidhaydenのコードフラグメントは、パスワードの散逸と塩の基本的な実装を提供します。 formsauthenticationクラスを使用して、パスワードを構成ファイルに保存するために散布します。ただし、延長や塩などのバイナリブロブの場合、弦間の変換は不要であると見なされます。
代替C#メソッド:高度な拡張と塩
「ASP.NETの開始セキュリティ」からの次の改善方法には、いくつかの拡張機能が含まれています。
このメソッドは、より安全なSHA256アルゴリズムを使用し、文字列の代わりにバイト配列に散布を実行します。また、各パスワードの塩が一意であることを保証します。その他の予防策
<code class="language-csharp">static byte[] GenerateSaltedHash(byte[] plainText, byte[] salt) { HashAlgorithm algorithm = new SHA256Managed(); byte[] plainTextWithSaltBytes = new byte[plainText.Length + salt.Length]; for (int i = 0; i < plainText.Length; i++) { plainTextWithSaltBytes[i] = plainText[i]; } for (int i = 0; i < salt.Length; i++) { plainTextWithSaltBytes[plainText.Length + i] = salt[i]; } byte[] hash = algorithm.ComputeHash(plainTextWithSaltBytes); return hash; }</code>
テキストはバイト配列に変換できます。 シャドルは
で文字列に変換し、Encoding.UTF8.GetBytes(string)
バイト配列間の等しい比較は、各バイトのサイクリングと検証によって実行する必要があります。 Convert.ToBase64String
Convert.FromBase64String
以上がC#でパスワードを安全にハッシュして塩パスワードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。