Possible Duplicate:
07000
为什么会在数据库中存储加密用户密码,如果密码是数据中最不重要的部分?看起来不会影响外部攻击;每个帐户每天设置有限数量的登录尝试将是有效的。似乎不会影响内部的攻击;如果有人可以访问密码,他们还可以访问数据库其余部分中更有价值的数据。
我在这里遗漏了什么吗?不应该使用用户密码加密整个数据库作为密码加密本身的关键是有效的?
他的帖子结合他的问题:
好的,我以一个坏的方式问了这个问题。让我再说一遍
如果有人进入这个系统,那么他们拥有用户密码的事实是我最关心的问题之一。我会加密密码,但在我的拙见中,数据库中的其他数据更有价值。假设如果内部攻击者拥有该数据,那么他们不关心密码。
解决方法
因为,哈希密码将保护它免受组织内部的攻击。这样,访问数据库的人就不会知道用户的密码。
人们有一个反复使用相同密码的习惯,因此如果您的数据库意外受到侵害,您的组织不会使用户的其他帐户包含在其他组织中。现在人们应该做到这一点,不然,但是它们是这样做的,而且它更容易的是哈希的密码,而不是向你的客户解释为什么有人在内部拥有密码,并造成对其他系统中的几个帐户的损害与你无关。
如果你认为这个原因太夸张了,你可能想知道它实际上是由Stack Overflow创建者Jeff Atwood发生的。他描述了他的博客文章“I Just Logged In As You: How It Happened”中整个Stack Overflow的入侵。
编辑:
为了进一步回答您的问题,您的其他敏感数据也应加密。很多网络活动都在工作中,我讨厌说,但是你必须偏袒谁能看到什么信息。您认为敏感的任何您不希望人们知道,除非他们被特别授权看到该数据,应该在数据库中加密。你是正确的,有时候比较什么可以被盗的密码不是那么多的关心你。关键是“给你”。对其他人来说,应该与系统中的其他敏感数据一起受到保护。