首页 文章

将密码存储在数据库中

提问于
浏览
1

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

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

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

1 回答

  • 2

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

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

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

相关问题