首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在设计模型上插入已加密的密码?

如何在设计模型上插入已加密的密码?
EN

Stack Overflow用户
提问于 2016-07-21 06:42:31
回答 1查看 1.8K关注 0票数 0

我是铁路新手。我想问一下,是否可以插入加密密码(使用默认加密加密)来设计模型?

例如:

$2a$10$0.xEu5LvDbnmGVIqgIab8ej5o2b3eKa8KLevsg5bxIX0SHSOl5gye User.csv id,名字,encrypted_password 1,老兄,encrypted_password

我想读取这个csv文件,然后将数据插入到用户模型中。但我意识到,您不能在用户模型的encrypted_password上通常插入已经加密的密码。我正在考虑解密密码,但他们说这对系统的安全是有害的。

更新:它现在可以插入加密密码,但插入的密码与csv上的密码不同,因为在将密码插入数据库之前,该设备会自动加密密码。在将密码插入数据库之前,是否有一种设计模型来检测密码是否已经加密?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-21 11:28:04

是的,您可以直接设置encrypted_password值:

代码语言:javascript
复制
u = User.find(1)
u.update_attribute(:encrypted_password, "$2a$10$0.xEu5LvDbnmGVIqgIab8ej5o2b3eKa8KLevsg5bxIX0SHSOl5gye")

但是你应该确保你没有设置‘密码’,如果你这样做不会工作,因为它会再次加密,所以

代码语言:javascript
复制
u = User.new
u.password = 'foo'
u.password_confirmation = 'foo'
u.encrypted_password = "$2a$10$0.xEu5LvDbnmGVIqgIab8ej5o2b3eKa8KLevsg5bxIX0SHSOl5gye" # this line will be ignored
u.save


u = User.new
u.encrypted_password = "$2a$10$0.xEu5LvDbnmGVIqgIab8ej5o2b3eKa8KLevsg5bxIX0SHSOl5gye" # this line will now work
u.save
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38496774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档