我知道在将它保存到数据库之前,我应该md5(password.salt)。但我有一些好奇的问题:+我是否应该也使用md5内容/文本字符串(使用密码作为盐)?例如:如果数据库泄露,攻击者无法读取关闭的论坛的内容,以防我不应该md5这些内容,并将它们全部保存为纯文本,那么当攻击者拥有数据库时,为什么还要尝试获取用户密码?
发布于 2012-11-28 12:41:12
散列密码的目的是防止访问您的数据库的第三方知道用户的密码。你的数据库内容已经被泄露了,所以论坛的内容已经暴露出来了。你不希望人们的密码被泄露,因为许多人在多个网站上使用相同的密码。
如果你有一个安全的论坛,那么你需要防止攻击者访问数据库。如果他们进去了,你的论坛帖子就会暴露出来。不要费心去进一步保护他们。这个想法是,如果攻击者获得了对数据库的访问权限,您就限制了损害的表面积。您的站点数据被泄露了,但希望用户的凭据不会被泄露。有些人会在你的网站上使用他们的银行用户名和密码,这就是你想要保护的。
请记住,散列函数是单向的。你不能对数据进行反散列。这对于密码来说是很好的:你不需要知道人们的密码是什么,你只需要能够比较它们。它不适用于论坛帖子。散列不是加密。加密的数据可以解密。哈希数据不能取消哈希。
https://stackoverflow.com/questions/13597896
复制相似问题