前端之家收集整理的这篇文章主要介绍了
asp.net – 在代码而不是数据库中存储salt,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于盐最佳实践的
great讨论已有
couple次,似乎压倒性的建议是为每个密码
生成不同的盐,并将其与密码一起存储在
数据库中.
但是,如果我正确理解盐的目的,那就是减少彩虹表攻击会让你受到损害的可能性.因此,我理解通过将其存储在数据库中,最好为每个用户更改它,但是如果盐不在数据库附近怎么办?如果我在代码中存储单个salt值(在Web服务器上将存储在已编译的dll中),如果攻击者以某种方式获得对数据库的访问权限,那么这不会起到同样的作用吗?在我看来,它更安全.
盐的目的是要求每个密码重新
生成彩虹表.如果您使用单一盐,黑客/黑客只需要重新
生成彩虹表一次,并且他拥有您的所有密码.但是如果你为每个
用户生成一个
随机的,他必须为每个
用户生成一个.黑客部分的成本要高得多.这就是为什么你可以用纯文本存储盐,如果黑客知道它只要有多个就没关系.
默默无闻的安全性并不好,微软告诉我们这一点.
原文链接:https://www.f2er.com/aspnet/248339.html