asp.net – 在代码而不是数据库中存储salt

前端之家收集整理的这篇文章主要介绍了asp.net – 在代码而不是数据库中存储salt前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于盐最佳实践的 great讨论已有 couple次,似乎压倒性的建议是为每个密码生成不同的盐,并将其与密码一起存储在数据库中.

但是,如果我正确理解盐的目的,那就是减少彩虹表攻击会让你受到损害的可能性.因此,我理解通过将其存储在数据库中,最好为每个用户更改它,但是如果盐不在数据库附近怎么办?如果我在代码中存储单个salt值(在Web服务器上将存储在已编译的dll中),如果攻击者以某种方式获得对数据库的访问权限,那么这不会起到同样的作用吗?在我看来,它更安全.

解决方法

盐的目的是要求每个密码重新生成彩虹表.如果您使用单一盐,黑客/黑客只需要重新生成彩虹表一次,并且他拥有您的所有密码.但是如果你为每个用户生成一个随机的,他必须为每个用户生成一个.黑客部分的成本要高得多.这就是为什么你可以用纯文本存储盐,如果黑客知道它只要有多个就没关系.

默默无闻的安全性并不好,微软告诉我们这一点.

猜你在找的asp.Net相关文章