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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails:将加密数据存储在数据库中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我要加密数据库,因为正在存储机密数据.我使用 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
原文链接:https://www.f2er.com/ruby/271969.html

猜你在找的Ruby相关文章