gpt4 book ai didi

.net - Rfc2898DeriveBytes IterationCount 目的和最佳实践

转载 作者:行者123 更新时间:2023-12-04 14:01:00 24 4
gpt4 key购买 nike

IterationCount的目的是什么? Rfc2898DeriveBytes 的属性(property)类(class)。 MSDN没有过多说明它,但它确实说 1,000 是推荐的最小值。

如果我要将其设置为 1,000,为什么不设置为 1,000,000 或 1,000,000,000?建议 1,000 背后是否有原因,是否有最佳实践来确定每个用例的正确值?

最佳答案

Rfc2898DeriveBytes实现 PBKDF2。该算法使用盐和 key 扩展从密码创建相对安全的 key (正常长度的密码不是那么安全)。为了更难破解密码,它使用迭代计数(这是添加到创建 key 的线性成本)。合法用户和攻击者的成本相同,但攻击者必须遍历所有可能的密码。

没有标准数量;基本上,您将其设置为这样一个值,该值对于您的 CPU 性能来说是可以接受的。 1000 是标准中的推荐值,但该标准已经存在多年。现在你应该从最少 10K 开始 + ,以上任何内容都会使攻击者更难找到生成相同“ key ”的密码。

+ [编辑] 请查找当前推荐的迭代次数。请注意摩尔定律仍然有效并且 PBKDF2 本身确实有效 不是 对迭代计数使用指数尺度。确保其他密码处理例程也是安全的(密码强度反馈、最大重试次数等)。

显然,更重要的 key 应该得到更好的保护。请注意,生成一个真正安全的密码比添加迭代具有更大的影响 - 使用好的密码和高迭代次数当然是最好的。

关于.net - Rfc2898DeriveBytes IterationCount 目的和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21145982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com