有谁知道我如何在不使用 rails 的情况下通过 authlogic hasing 算法运行纯文本密码?看起来 authlogic 的默认值是 sha512。
我有一个纯文本密码数据库(是的,我知道……不好),需要将它们导入到使用 authlogic 设置的新数据库中。
这个 ruby 脚本在 rails 之外,所以我不想使用基于 rails 的 authlogic 命令。
我有
require 'authlogic'
在 ruby 脚本中
我是 ruby 模块的新手,但正在尝试调用密码方法,例如:
Authlogic::ActsAsAuthentic::Password::Methods::InstanceMethods.password('password_here')
我从那里得到了一个“无密码方法”错误,但在 authlogic 代码中的模块堆栈下有一个“密码”方法。
谢谢!
最佳答案
我不会直接尝试导入它们,因为请记住,您可能还需要创建“盐”。您应该为每个当前用户创建一个全新的“用户”:
User.create({:username => username, :email => email, :password => password, :password_confirmation => password })
这样你就会知道它是按照 authlogic 的预期方式进行的。只要您的用户模型使用 authlogic,它就会使用 authlogic 的方法来保存密码。
关于ruby-on-rails - 仅使用 ruby 的 Rails authlogic 密码哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330994/