小编ada*_*ski的帖子

.NET:PasswordDeriveBytes和Rfc2898DeriveBytes之间的区别

我想了解一些C#-code,我一直在流传,这与密码交易,具体使用PasswordDeriveBytesSystem.Security.Cryptography.

.NET文档中,它说PasswordDeriveBytes使用"PBKDF1算法的扩展",后面在指定为"PKCS#5 v2.0标准"的文档中,这是PBKDF2(据我所知).我发现网上的所有地方(包括这里的Stack Exchange),但每个人都说"使用Rfc2898DeriveBytes,导致密码*被弃用并使用PBKDF1".但msdn.microsoft.com上文档的唯一区别似乎是Rfc*-version特别提到了PBKDF2,其中Password*表示"PBKDF1的扩展"和"PKCS#5 v 2.0".

那么,任何人都可以告诉我两个类之间的区别(如果有的话)以及为什么我应该使用一个而不是另一个用于PBKDF2密码密钥推导?

现在,处理相同数据的其他代码明确使用PBKDF2,并且可以工作,因此这表明确实PasswordDeriveBytes也使用了PBKDF2,或者PBKDF2在某些情况下只与PBKDF1兼容,但我想确切地知道它是不是一些随机事物的副作用,并且事情只是神奇地起作用(并且最终可能会神奇地和惊人地突破)而没有任何人真正理解为什么.

.net c# pbkdf2 pkcs#5

11
推荐指数
1
解决办法
7497
查看次数

标签 统计

.net ×1

c# ×1

pbkdf2 ×1

pkcs#5 ×1