2

AES (Rijndael) 対称鍵アルゴリズムを使用してデータを暗号化/復号化しています。System.Security.Cryptography を使用しています。PasswordDeriveBytes 関数;

        PasswordDeriveBytes password = new PasswordDeriveBytes(
                                                        passPhrase,
                                                        saltValueBytes,
                                                        hashAlgorithm,
                                                        passwordIterations);

MSDN などでこの関数を調べると、「hashAlgoritm」が使用できるパラメーターが明示的にわかりません。インターネット上には、SHA1 と SHA256 を使用する例があります。これを試してみたところ、SHA512 を使用できることがわかりました。しかし、ドキュメントがなければ、SHA512 が本当に SHA256 や SHA1、さらには MD5 よりも優れているかどうかはわかりません。誰でもこの問題に光を当てることができますか?

4

1 に答える 1

3

ハッシュ法のセキュリティは、鍵導出関数にとってそれほど重要ではありません。必要なキーサイズに一致するものを選択するのがおそらく最善ですが、一般的にMD5の使用は推奨されません。他のアプリケーションはSHA-1のみを使用できます。

これPasswordDeriveBytesは非推奨であり、ハッシュサイズより大きい出力には使用しないでください。PBKDF2isteadを使用してください。を参照してくださいRfc2898DeriveBytes

于 2013-02-25T17:14:27.670 に答える