如何在Ruby on Rails的base64中编码pass字段?

时间:2018-07-04 11:19:38

标签: ruby-on-rails devise base64

我想发送一个字段,我将其添加到表单中以便使用devise gem创建用户。这些字段是访问SVN的密码,因此,我不想将其存储为纯文本格式,显然,我无法使用一种单向算法对其进行编码。我曾考虑过在base 64中对其进行编码,但我不知道如何在form字段或devise gem中进行编码。这是我的表单字段:

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

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

有什么建议吗?

谢谢

编辑:

我会尽力解释一下:

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

很明显,设备密码是加密的,但是无法以单一方式对Subversion密码字段进行加密,因为传递给Subversion时,它无法识别。

1 个答案:

答案 0 :(得分:0)

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

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

您可以使用PBKDF2Ruby gem)或base64。

如果您使用的是devise,则如果您正确设置用户模型,gem应该会为您存储秘密。 Have a look at this

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