我想加密数据库,因为正在存储 secret 数据。我将 mongodb 与 mongoid 一起使用。这种数据库可能吗?如果不是,您可以推荐哪些替代方案?
附:主要目的是:如果有人入侵服务器并窃取数据库,它将无法加密。
更新:感谢 nickh ,我发现很多soultions for ActiveRecord ,但对于 Mongoid 和其他 Mongo 客户来说没有任何意义。很高兴能为 Mongo 和 Mongoid 找到一些灵魂!
最佳答案
我已经使用 Mongo 和 Mongoid 获得了 attr_encrypted。只需稍作调整。
确保所有由 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
关于ruby-on-rails - rails : storing encrypted data in database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343996/