【问题标题】:Storing passwords in a database在数据库中存储密码
【发布时间】:2016-06-24 12:40:27
【问题描述】:

关于如何在数据库中存储密码有很多问题,我知道密码在任何情况下都不应该以纯文本形式存储。但是,我的应用程序需要针对各种第三方进行身份验证,例如不提供 OAUTH 的 SMB 或 REST API。简而言之:我需要存储密码。

为了避免以明文形式存储密码,我的想法是将密钥存储在环境变量中,并使用它来加密/解密密码。

这是解决问题的好方法还是有更好的选择?

【问题讨论】:

    标签: ruby-on-rails database security


    【解决方案1】:

    查看 attr_encrypted gem 以透明地加密和解密属性。这将允许您写入虚拟属性,并且在保存时将无缝处理加密数据并将其持久化到数据库中,因此它们永远不会以纯文本形式存储。

    确保使用具有新默认模式 :per_attribute_iv 的 gem,这将为您要存储的每个加密属性保留加密的密文和单独的 IV。

    https://github.com/attr-encrypted/attr_encrypted

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-20
      • 2016-01-15
      • 2023-03-04
      • 1970-01-01
      • 2012-04-07
      • 2013-10-04
      • 2011-04-26
      • 1970-01-01
      相关资源
      最近更新 更多