【发布时间】:2016-11-07 13:45:59
【问题描述】:
我目前正在开发一个需要特殊身份验证的项目。我得到了一个用户列表,其中包括他们的会员号以及他们的名字和姓氏。
我正在使用 devise 进行身份验证,我想使用该号码加上他们的名字和姓氏的组合进行身份验证,例如:
01272726
Bruce Wayne
我已从电子邮件身份验证切换到 uuid(会员号),但我不知道如何将密码替换为名称。
我考虑过在将用户上传到数据库时为他们生成密码,但不知道如何加密它。 :/
我希望有人可以帮助我。谢谢!
【问题讨论】:
-
会员号和密码一样保密吗?您是否将会员编号保存在文件(或数据库)中?
-
@zaph 是的,这是秘密。我有一个 csv,其中包含名字、姓氏和数字的单列
-
如果将会员号用作密码,即秘密登录凭据,则不得将其保存为纯文本或加密在任何文件中。不要加密密码,如果 encrypterd 在攻击者获取 CSV 文件时,他也会得到加密密钥。使用随机盐在 HMAC 上迭代大约 100 毫秒,然后将盐与哈希一起保存。使用 password_hash、PBKDF2、Bcrypt 等函数和类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。
-
在阅读您的评论时,我正在考虑仅使用该数字作为实际密码并使用 User.create(...., password: number) 创建用户
标签: authentication devise ruby-on-rails-5