繁体   English   中英

将密码存储在数据库中

[英]Storing passwords in a database

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM