我现在了解到,不推荐使用PasswordDeriveBytes
,而推荐使用Rfc2898DeriveBytes
。
在MSDN上查找Rfc2898DeriveBytes
。有一个使用TripleDES
的代码示例。
但是TripleDes
比AES
年长且较弱。为什么他们似乎向前迈出了一步,又向后迈了一步?
可以仅将TripleDes
替换为AES
还是将Rfc2898DeriveBytes
本质上链接到TripleDes
?
最佳答案
基于密码的KDF只是将密码+盐转换为字节序列,您可以将其用作键或存储为密码哈希。
它与您选择的密码毫无关系,您可以将PBKDF2与AES结合使用。一个小问题是您从PBKDF2-HMAC-SHA-1读取了多少数据。我建议只读取20个字节,并在需要时使用单独的散列来增加其大小。
没有理由遵循MSDN示例。他们通常不遵循良好的编码习惯。仅仅因为他们使用3DES并不意味着您应该这样做。
关于c# - Rfc2898DeriveBytes和TripleDes,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15109802/