首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails数据库-如何使用用户密码存储加密数据?

Rails数据库-如何使用用户密码存储加密数据?
EN

Stack Overflow用户
提问于 2010-10-16 04:54:08
回答 1查看 2.2K关注 0票数 4

我有一个将保存敏感数据的数据库,因此应该在数据库中对其进行加密。基本上,敏感数据是另一个网站的凭证。所以我想用用户密码+盐对它们进行加密。

要解密凭据,需要密码。

我看到了两种方法:在登录时,我可以解密凭据,然后将它们存储在会话中?这样安全吗?

对用户来说更难的是在解密存储的密码/ids之前再次询问密码?

我们不希望自己有任何能力使用存储的凭据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-16 04:59:27

为此,我强烈推荐使用"Security on Rails“。这是一个棘手的话题,所以你需要花一些时间来读懂它。它们恰好涵盖了这个主题,包括如何对加密的数据进行加密,单元测试以确保它是加密的,等等。

他们的示例代码展示了如何将类方法添加到ActiveRecord::Base中,以便您可以在一行代码中加密任何数据库列。绝对是一种惯用的Rails方法。

这是一本很棒的书--单元测试让我大吃一惊,所以说真的…去拿吧。

顺便说一句,当你说

我们不想有任何能力自己使用存储的凭据。

您意识到,因为您的代码从用户的浏览器接收未加密的数据,所以您可以在磁盘上加密数据之前访问内存中的数据,或者在用户以后想要使用该数据时访问未加密的数据。而坏人可以访问这些数据,如果他们根你的盒子,偷偷进入Ruby的eval(),等等。

不过,对数据进行加密确实有很大帮助。例如,SQL注入攻击无法获得解密的数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3946049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档