我想发送一个字段,我将其添加到表单中以便使用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时,它无法识别。
答案 0 :(得分:0)
通过阅读评论,您会遇到有关如何存储密码的问题。一般的经验法则是对它进行加密,并在用户登录时应用相同的功能,将用户发送的值与数据库中的值进行比较。
密码应该从不以纯文本格式存储在数据库中,而应存储原始信息的哈希值。
如果您使用的是devise,则如果您正确设置用户模型,gem应该会为您存储秘密。 Have a look at this
由于涉及许多核心概念,我不知道这如何回答您的问题,但是如果您可以更具体一些,我很乐意进行扩展。