digest / hmac是ruby标准库的一部分

前端之家收集整理的这篇文章主要介绍了digest / hmac是ruby标准库的一部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一些代码
begin
require 'digest/hmac'
USE_EMBEDDED_HMAC = false
rescue
puts "HMAC,not found in standard lib." + $!.message
require 'hmac-sha1'
USE_EMBEDDED_HMAC = true
end

正如我所看到的,至少在rails 1.8.6中,它不是标准库的一部分.它是ruby 1.9 lib的一部分吗?如果没有,我应该安装任何宝石?

请注意,使用OpenSSL的解决方案将不被接受,因为它在“require’digest / hmac’中无论如何都会失败”

有问题的代码在这里http://github.com/quetzall/cloud_cache/blob/master/lib/cloud_cache.rb

解决方法

它在1.8.7中可用.试试这个:
ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]

require 'openssl'
digest  = OpenSSL::Digest::Digest.new('sha1')
OpenSSL::HMAC.digest(digest,"superscret","Lorem ipsum dolor sit amet")
OpenSSL::HMAC.hexdigest(digest,"Lorem ipsum dolor sit amet")

猜你在找的Ruby相关文章