rails 3.0加密保险箱

时间:2011-06-11 06:57:02

标签: ruby-on-rails encryption

在rails 3.0项目的上下文中,必须加密数据库字段。 gem Strongbox用于管理加密。该实现遵循github上的自述文件(参见链接)。 问题是该视图会抛出错误:

invalid byte sequence in UTF-8

代表<%= f.text_field :my_field %>

在视图上解密字段有什么特别的事吗?

1 个答案:

答案 0 :(得分:2)

Strongbox的文档说明:“在您的视图和表单中,您无需对数据进行加密。解密调用:user.secret.decrypt'password'”

Rails表单构建器在生成表单时不会对值调用decrypt,因此这就是您将收到此错误的原因。您有两种选择:

  • 为所有加密字段手动设置text_field值,例如

    '&lt;%= f.text_field:my_field,:value =&gt; user.my_field.decrypt“password”%&gt;'

  • 构建自定义表单生成器,在生成表单时解密加密值。