Ruby on rails - NotImplementError: pbkdf2_hmac() 函数在此计算机上未实现



我正在努力将Ruby和rails版本升级到我的应用程序。我使用的是rails 3.2和ruby '1.9.3',对于这个版本,Gibberish heroku上运行良好。在我升级 rails 4.2 和 ruby 2.2.0 后,胡言乱语不起作用并且heroku错误。

所以我在 heroku 中创建了一个新应用程序并配置了 4.2 和 2.2.0,然后进行了测试。那里胡言乱语工作正常,没有任何错误。但我不喜欢配置新应用程序。因为我在现有应用程序上配置得很好。我错过了什么点吗?这里的痕迹...

irb(main):002:0> Gibberish::AES.new("12345").encrypt("data")
NotImplementedError: pbkdf2_hmac() function is unimplemented on this machine
from /app/vendor/bundle/ruby/2.2.0/gems/gibberish-2.0.0/lib/gibberish/aes.rb:140:in `pbkdf2_hmac'
from /app/vendor/bundle/ruby/2.2.0/gems/gibberish-2.0.0/lib/gibberish/aes.rb:140:in `encrypt'
from /app/vendor/bundle/ruby/2.2.0/gems/gibberish-2.0.0/lib/gibberish/aes.rb:100:in `encrypt'
from (irb):2
from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start'
from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start'
from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console'
from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:10:in `require'
from bin/rails:10:in `<main>'

注意:我正在Gibberish上使用最新版本

提前感谢!

Prior to Gibberish 2.0, the default encryption mode was CBC. But now not!.

我在验证加密格式后提出了解决方案。现在Gibberish正在基于OpenSSL版本工作。Gibberish 2 将在 OpenSSl 的最新版本中运行。如果要使用旧版本的 ssl,则必须CBC

Gibberish::AES::CBC.new("12345").encrypt("data")

胡言乱语 1.4 将生成

Gibberish::AES.new("p4ssw0rd").enc("Some top secret data")
#=> U2FsdGVkX187oKRbgDkUcMKaFfB5RsXQj/X4mc8X3lsUVgwb4+S55LQo6f6NnIDMX

但现在 CBC 将生成此格式化输出。

我建议在 heroku 中更新 openssl。

相关内容

  • 没有找到相关文章

最新更新