Encryption 在将密码插入数据库之前是否需要加密密码?

Encryption 在将密码插入数据库之前是否需要加密密码?,encryption,passwords,Encryption,Passwords,首先让我解释一下,我是一名Coldfusion服务器端开发人员,多年来一直尽职尽责地加密登录密码 我最近开始更仔细地考虑使用bCrypt()等库对密码进行哈希或加密的问题。黑客经常使用SQL注入来获取敏感数据,如银行账户详细信息、NI号码和信用卡/借记卡号码。我非常怀疑黑客是否会费心去卖密码,因为现在一个信用卡号码的售价相对较低 所以,我的问题是: 首先加密登录密码有什么意义吗 是的!非常重要的是,如果您的用户在多个站点上共享他们的密码该怎么办。现在黑客可以访问他们的银行帐户、电子邮件等。作为开

首先让我解释一下,我是一名Coldfusion服务器端开发人员,多年来一直尽职尽责地加密登录密码

我最近开始更仔细地考虑使用bCrypt()等库对密码进行哈希或加密的问题。黑客经常使用SQL注入来获取敏感数据,如银行账户详细信息、NI号码和信用卡/借记卡号码。我非常怀疑黑客是否会费心去卖密码,因为现在一个信用卡号码的售价相对较低

所以,我的问题是:


首先加密登录密码有什么意义吗

是的!非常重要的是,如果您的用户在多个站点上共享他们的密码该怎么办。现在黑客可以访问他们的银行帐户、电子邮件等。作为开发人员/程序员,为用户提供安全可靠的体验是你的道德责任。

当然这是必要的。如果您的数据库遭到破坏,您应该向您的用户说明,他们的密码不能用于其他服务来访问他们。但这假设用户对其他帐户使用相同的密码。黑客不会花时间登录其他帐户。他们将SQL注入,直到他们在数据库中直接找到银行的详细信息;加密意味着可逆性。一个好主意是用足够大的随机盐(你也要记录)反复散列它们。散列的循环数可能相当大(例如,1024或更多)。关于这个话题还有很多其他问题。另请参见[在数据库中加密/散列纯文本密码](这些都是相关的问题。我投票将这个问题作为离题来结束,因为它在:,,上有详细讨论。我实际上使用了bCrypt,它不能被减数。它使用机器时间戳将盐存储在其哈希中:如果我们单独举这个例子。大多数黑客使用SQL注入来访问敏感数据ase值。一旦成功,黑客甚至不会费心查看密码数据。直接进入信用卡信息,信用卡信息必须加密,最好在单独的数据库中使用salt。我怀疑在数据库中找到你的信用卡详细信息的黑客会费心尝试登录其他帐户,而他需要的信息是alr已经可用。你应该尽可能地保护你的数据。你应该防止代码和密码中的注入攻击,如果你必须存储信用卡信息,你应该对其进行加密,并且应该隔离密钥/salt。你应该使用某种令牌保险库服务,并尽可能遵循PCI可能。你可能还想回顾一下。我绝对同意信用卡数据必须加密,而salt必须单独存储。但我仍然不相信加密登录密码有任何真正的好处。我将继续加密密码,因为法律规定我必须加密。一个使用SQL注入的坚定黑客只会赚到真正的钱销售信用卡/借记卡数据。事实上,我不再存储客户的信用卡数据。这太危险了。