在postgres中加密密码jsonb

时间:2017-07-13 10:16:26

标签: ruby-on-rails postgresql security encryption

在我的公司,我们正在设计一个新的流程供我们的用户注册。 UserCompany彼此密切相关。由于多种原因,我们无法一个接一个地创建usercompany,但我们需要同时创建它们。

但是,由于我们的表单分为几个步骤,我们会在jsonb属性的单独Registration模型中收集所有用户输入,然后在结尾处创建usercompany这个中间模型的过程。

问题之一是我们收集用户密码。但是,当我们将registration存储在数据库中时,会泄露密码。

你会如何保护这个?

编辑:我们正在使用Bcrypt加密密码

1 个答案:

答案 0 :(得分:1)

我没试过这个,但我想这会奏效。在将密码存储为中间json之前,您可以使用以下代码加密密码。

my_password = BCrypt::Password.create("my password")

如果您正确设计了用户模型,则表格中会有一个password_digest字段。因此,在保存加密密码时,请使用:

@user.password_digest = my_password

而不是

@user.password = my_password

您希望加密在后台进行。