首页 > 解决方案 > 如何在 Ruby on Rails 上使用 base64 编码传递字段?

问题描述

我想发送一个我在表单中添加的字段,以便使用设计 gem 创建用户。这些字段是访问 SVN 的密码,所以我不想将它存储在纯文本中,显然,我不能使用唯一的单向算法对其进行编码。我想过用 base 64 对其进行编码,但我不知道如何在表单字段或设计 gem 中做到这一点。这是我的表单域:

 <%= password_field_tag :pass, type:"password", name:"user[XXXX_password]", id:"XXXX_password" %>

我可以发送用 Base64.encode() 或类似代码编码的字段吗?

有什么建议吗?

谢谢

编辑:

我将尝试更好地解释它:

我存储用户的数据(邮件,传递......),但另外我添加了两个字段:用户和颠覆密码。

显然,设计密码是加密的,但颠覆密码字段不能以单一方式加密,因为当传递给颠覆时它不会识别它。

标签: ruby-on-railsdevisebase64

解决方案


通过阅读有关如何存储密码的问题的评论。一般的经验法则是在用户登录时确实对其进行加密并应用相同的功能,将用户发送的值与您在数据库中的值进行比较。

密码永远不应该以纯文本形式存储在数据库中,而是存储原始信息的哈希值。

您可以使用PBKDF2 ( Ruby gem ) 或 base64。

如果您使用的是设计,如果您正确设置了用户模型,gem 应该会为您存储秘密。看看这个

我不知道这如何回答您的问题,因为它涉及许多核心概念,但如果您可以更具体一些,我很乐意扩展它。


推荐阅读