Ser*_*pia 5 .net c# md5 cryptography sha1
我绝不是安全专家,甚至不是新手.我最好是安全新手.
有人建议我使用SHA1而不是MD5 - 为什么我会选择一个而不是另一个?一个人更安全吗?
And*_*tan 10
我会至少使用SHA2(256) - 但是:
由于彩虹表攻击,在数据库中简单地散列密码几乎没有意义.同样,盐渍哈希更好,但如果有人可以访问您的数据库,那么他们可能有权访问您的代码,在这种情况下,他们可能会拆解固定的盐.同样地,如果你使用随机盐,那么你无论如何都要将它存储在行内,所以当它减慢人们的速度时,他们仍然可以用彩虹表攻击它.
更好的解决方案是使用密码拉伸,它使用随机盐以及随机(高)次迭代次数,因此尝试对每个密码进行暴力攻击所需的时间要长得多,因此破解所有密码的实际情况更加困难.
我相信.Net这可以通过PBKDF来实现 - 但是我错误地给了它一个链接(有人提供给我一个我刚才问过的问题的答案).编辑 - 找到.Net的链接:Rfc2898DeriveBytes Class.
在MD5上
虽然其他答案中提到MD5确实被证明是"破碎"的,但我不会使用它的主要原因 - 以及为什么我读到它不建议使用它 - 是因为它实际上非常快,因此在给定的时间内增加裂缝的可能性.
| 归档时间: |
|
| 查看次数: |
865 次 |
| 最近记录: |