最近我遇到了System.Web.Helpers.Crypto类。
使用Crypto.HashPassword函数似乎是一个非常简单/简单的解决方案。但我不确定这个句子(来自 msdn):
密码哈希是通过 RFC 2898 算法使用 128 位盐、256 位子密钥和1000 次迭代生成的。生成的哈希字节流格式为{0x00, salt, subkey},返回前经过base-64编码。
所以我的问题:
1)可以在生产/发布站点上使用这个类吗?
2) 1000 次迭代的限制是否表明网站存在安全问题。?
3)如果是这样,有没有一种简单的方法可以克服这个限制?
我知道调用Crypto.HashPassword(MyPlainText)
会自动生成盐并将它们散列在一起,但是如果我也将随机盐与我的纯文本连接起来,就像这样的代码:
var myAdditionSalt=Crypto.GenerateSalt();
Crypto.HashPassword(MyPlainText+myAdditionSalt)
并将myAdditionSalt存储在数据库中。它会增加安全性吗?