ruby – 使用用户密码保持数据库数据加密的最佳方法是什么?

假设一个应用程序具有属于用户的特定数据,除了所有者之外,没有人应该看到它.我使用MySQL数据库和DataMapper ORM映射器.该应用程序是用Ruby on Sinatra编写的.

应用行为:

>用户注册一个帐户.创建用户名和密码.
>登录他的仪表板.
>必须保护特定表中的某些字段.

基本上,我正在寻找模型属性的自动加密.像这样的东西:

class Transaction
  include DataMapper::Resource

  property :id, Serial
  property :value, String, :length => 1024, :encrypted => true
  ... etc ...
  belongs_to :user
end

我认为动态加密/解密会导致性能问题,但没关系.至少如果有效 – 我很好.

任何想法如何做到这一点?

最佳答案
我不会存储任何依赖于用户记住其密码然后使用该密码来解密数据的数据.当用户更改密码时您打算做什么?解密/加密一切?我对此表示怀疑.如果管理员重置密码怎么办?所有数据丢失了?我再次怀疑它.

请参阅有关存储机密的其他链接,但请不要使用用户的任何值作为加密的一部分.

转载注明原文:ruby – 使用用户密码保持数据库数据加密的最佳方法是什么? - 代码日志