パスワード保護のコンテキストでは、パスワードハッシュとソルトプレイが潜在的なセキュリティの脆弱性を減らす上で重要な役割を果たします。 David Haydenの記事では、ユーザーパスワードのハッシュメソッドの概要を説明しますが、バイナリブロブを文字列に導入してテキストファイルに保存し、型破りな方法を紹介します。ただし、最良のセキュリティを取得するために、ハッシュと塩をバイナリデータとして扱うことをお勧めします。
別の方法は、文字列変換を必要とせずにバイナリBLOBを直接使用することです。この方法は、潜在的なコーディングエラーを回避することにより、ハッシュと塩の完全性を保証します。次のコードの例は、バイナリ塩のハッシュを生成する方法を示しています:
塩の生成は、ヘイデンのコードと同じです。塩のハッシュを安全に保存して追加するには、base64文字列にエンコードする必要があります。
<code class="language-csharp">static byte[] GenerateSaltedHash(byte[] plainText, byte[] salt) { HashAlgorithm algorithm = new SHA256Managed(); byte[] plainTextWithSaltBytes = new byte[plainText.Length + salt.Length]; Array.Copy(plainText, plainTextWithSaltBytes, plainText.Length); Array.Copy(salt, 0, plainTextWithSaltBytes, plainText.Length, salt.Length); return algorithm.ComputeHash(plainTextWithSaltBytes); }</code>比較のために、次のコードは、バイト配列の平等な性質を正しく確認する方法を示しています。
セキュリティを強化するには、パスワードごとに新しい塩を生成する必要があります。虹色の時計が攻撃を防ぐのに役立つランダム化されたハッシュによる塩の計算。下のパスワードを漏らすのではなく、塩で安全に保管することを忘れないでください。
以上がバイナリブロブを使用して、C#でパスワードを安全にハッシュし、塩パスワードを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。