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更好。有人能阐明这个问题吗?
散列方法的安全性对于密钥派生函数来说不那么重要。最好选择一个与所需密钥大小匹配的密钥,尽管通常不鼓励使用MD5。其他应用程序可能仅使用SHA-1。
请注意,PasswordDeriveBytes
已被弃用,当然不应用于大于哈希大小的输出。使用PBKDF2 istead,请参阅Rfc2898DeriveBytes
。