我现在了解到,为了支持Rfc2898DeriveBytes,PasswordDeriveBytes被弃用了。在MSDN上查找Rfc2898DeriveBytes。这里有一个使用TripleDES的代码示例。但与AES相比,TripleDes更老、更弱。为什么他们似乎前进了一步,后退了一步?是否可以仅将TripleDes替换为AES,或者Rfc2898DeriveBytes本质上链接到TripleDes
发布于 2013-02-27 18:38:26
基于密码的KDF只是将password+salt转换为一个字节序列,您可以将其用作密钥,或存储为密码散列。
它与你选择的密码没有任何关系,你可以将PBKDF2和AES一起使用。一个小问题是您从PBKDF2-HMAC-SHA-1读取了多少数据。我建议只读取20个字节,并在需要时使用单独的散列来增加它们的大小。
没有理由遵循MSDN示例。它们通常不遵循良好的编码实践。仅仅因为他们使用3DES并不意味着你应该这样做。
发布于 2013-02-27 18:42:35
PBKDF2 (Rfc2898DeriveBytes)用于从密码(密钥派生函数)派生密钥,它生成的密钥长度和您随后执行的操作由您选择,因此使用PBKDF2生成密钥并使用您喜欢的任何对称密码。回答你的问题,没有内在的联系。
https://stackoverflow.com/questions/15109802
复制相似问题