【问题标题】:Is it necessary to encrypt passwords before inserting them into a database?在将密码插入数据库之前是否需要加密密码?
【发布时间】:2015-10-24 18:48:54
【问题描述】:

首先说明一下,我是一名Coldfusion服务器端开发人员,多年来一直尽职尽责地对登录密码进行加密。

我最近开始更仔细地考虑使用 bCrypt() 等库对密码进行散列或加密的要点。黑客经常使用 SQL 注入来获取敏感数据,如银行账户详细信息、NI 号码和信用卡/借记卡号码。考虑到如今单个信用卡号的售价相对较低,我非常怀疑黑客是否会费心出售密码。

所以,我的问题是:

首先加密登录密码实际上有什么意义吗?

【问题讨论】:

标签: encryption passwords


【解决方案1】:

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

【讨论】:

  • 如果我们孤立地举这个例子。大多数黑客使用 SQL 注入来访问敏感的数据库值。一旦成功,黑客甚至不会费心查看密码数据。直接到信用卡信息,必须加密,最好在单独的数据库中使用盐。
  • 我怀疑在数据库中找到您的信用卡详细信息的黑客会在他需要的信息已经可用的情况下尝试登录其他帐户。
  • 您应该尽可能地保护您的数据。您应该防止代码中的注入攻击和加密密码,如果您必须存储信用卡信息,则应该对其进行加密,并且应该隔离密钥/盐。您应该使用某种令牌库服务并尽可能遵循 PCI。您可能还想查看owasp.org/index.php/Main_Page
  • 我绝对同意信用卡数据必须加密,salt 单独存储。但我仍然不相信加密登录密码有什么真正的好处。我将继续加密密码,因为法律规定我必须这样做。使用 SQL 注入的坚定黑客只会通过出售信用卡/借记卡数据来赚取任何真钱。
  • 事实上,我不再存储客户的信用卡数据。风险太大了。
猜你喜欢
  • 2018-10-28
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 2021-03-18
  • 2020-07-03
  • 2016-03-05
相关资源
最近更新 更多