PasswordDeriveBytes function

本文关键字:function PasswordDeriveBytes | 更新日期: 2023-09-27 18:00:55

我使用AES(Rijndael(对称密钥算法加密解密数据。我正在使用System.Security.Cryptography.PasswordDeriveBytes函数;

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

在MSDN等上查找此函数时,它并没有明确告诉您"hashAlgorim"可以使用哪些参数。互联网上有一些例子表明它采用了SHA1和SHA256。我对此进行了实验,发现它可以使用SHA512。但如果没有文档,我不知道SHA512是否真的比SHA256、SHA1甚至MD5更好。有人能阐明这个问题吗?

PasswordDeriveBytes function

散列方法的安全性对于密钥派生函数来说不那么重要。最好选择一个与所需密钥大小匹配的密钥,尽管通常不鼓励使用MD5。其他应用程序可能仅使用SHA-1。

请注意,PasswordDeriveBytes已被弃用,当然不应用于大于哈希大小的输出。使用PBKDF2 istead,请参阅Rfc2898DeriveBytes