加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:将加密数据存储在数据库中

发布时间:2020-12-16 19:48:24 所属栏目:百科 来源:网络整理
导读:我要加密数据库,因为正在存储机密数据.我使用 mongodb与mongoid.这种数据库有可能吗?你可以推荐什么替代品,如果不是呢? 附:主要目的是:如果有人破解服务器并窃取数据库,这将是不可加密的. 更新:感谢nickh,我发现非常多的soultions for ActiveRecord,但
我要加密数据库,因为正在存储机密数据.我使用 mongodb与mongoid.这种数据库有可能吗?你可以推荐什么替代品,如果不是呢?

附:主要目的是:如果有人破解服务器并窃取数据库,这将是不可加密的.

更新:感谢nickh,我发现非常多的soultions for ActiveRecord,但没有Mongoid和其他蒙古车队.对于Mongo和Mongoid来说,这是一个很好的选择!

解决方法

我已经和Mongo和Mongoid一起工作了.它只需要几个调整.

确保在模型中明确创建了由attr_encrypted自动创建的所有encrypted_字段.例如,如果你有:

attr_encrypted :email,:key => 'blah blah blah',:encode => true

你需要有:

field :email,:type => String
    field :encrypted_email,:type => String

还要注意,你需要告诉它对加密的字符串进行编码,否则Mongo会大声抱怨.

最后,如果要加密哈希,请执行以下操作:

field :raw_auth_hash,:type => Hash
    field :encrypted_raw_auth_hash,:type => String

    attr_encrypted :raw_auth_hash,:key => 'blah',:marshal => true,:encode => true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读