ruby-on-rails - 仅使用 ruby​​ 的 Rails authlogic 密码哈希算法

标签 ruby-on-rails ruby authlogic

有谁知道我如何在不使用 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/

相关文章:

ruby-on-rails - 允许在 collection_select 上启用某些启用和禁用的选项

ruby - 将 Time.now 转换为第一个 Unix Day 的确切时间

ruby-on-rails - Rails authlogic : How to make Levels?

ruby-on-rails - Rails ActionMailer 方法困惑

ruby-on-rails - 在 rails 应用程序中使用 syslog

ruby-on-rails - 具有半私密性的 OAuth 授权码的安全性

ruby-on-rails - 在 Rails 5.2 应用程序和 Golang 之间共享网络 session

ruby - 如何根据 Ruby 嵌套此 if/else?

ruby-on-rails-3 - 应用程序 Controller 辅助方法不适用于 View 规范

ruby-on-rails - form_for 但要发布到不同的操作