在我的公司,我们正在设计一个新的流程供我们的用户注册。 User
和Company
彼此密切相关。由于多种原因,我们无法一个接一个地创建user
和company
,但我们需要同时创建它们。
但是,由于我们的表单分为几个步骤,我们会在jsonb属性的单独Registration
模型中收集所有用户输入,然后在结尾处创建user
和company
这个中间模型的过程。
问题之一是我们收集用户密码。但是,当我们将registration
存储在数据库中时,会泄露密码。
你会如何保护这个?
编辑:我们正在使用Bcrypt加密密码
答案 0 :(得分:1)
我没试过这个,但我想这会奏效。在将密码存储为中间json之前,您可以使用以下代码加密密码。
my_password = BCrypt::Password.create("my password")
如果您正确设计了用户模型,则表格中会有一个password_digest字段。因此,在保存加密密码时,请使用:
@user.password_digest = my_password
而不是
@user.password = my_password
您希望加密在后台进行。