我现在了解到,PasswordDeriveBytes
不赞成使用Rfc2898DeriveBytes
. Rfc2898DeriveBytes
在 MSDN 上查找。有一个代码示例使用TripleDES
. 但TripleDes
比 年老弱AES
。为什么他们似乎前进了一步又后退了一步?可以将 替换为TripleDes
或 与AES
有Rfc2898DeriveBytes
内在联系TripleDes
吗?
问问题
517 次
2 回答
5
基于密码的 KDF 只是将密码+盐转换为字节序列,您可以将其用作密钥,或存储为密码哈希。
它与您选择的密码没有任何关系,您可以将 PBKDF2 与 AES 一起使用。一个小问题是您从 PBKDF2-HMAC-SHA-1 读取了多少数据。我建议只读取 20 个字节,并在需要时使用单独的散列来增加它们的大小。
没有理由遵循 MSDN 示例。他们通常不遵循良好的编码习惯。仅仅因为他们使用 3DES 并不意味着您应该这样做。
于 2013-02-27T10:38:26.000 回答
1
PBKDF2
( Rfc2898DeriveBytes
) 用于从密码中派生密钥(密钥派生函数),它生成的密钥长度以及您随后执行的操作是您的选择,因此使用PBKDF2
它们生成密钥并使用您喜欢的任何对称密码。要回答您的问题,没有内在联系。
于 2013-02-27T10:42:34.663 回答