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

前端之家收集整理的这篇文章主要介绍了digest / hmac是ruby标准库的一部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一些代码
  1. begin
  2. require 'digest/hmac'
  3. USE_EMBEDDED_HMAC = false
  4. rescue
  5. puts "HMAC,not found in standard lib." + $!.message
  6. require 'hmac-sha1'
  7. USE_EMBEDDED_HMAC = true
  8. 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中可用.试试这个:
  1. ruby -v
  2. ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]
  3.  
  4. require 'openssl'
  5. digest = OpenSSL::Digest::Digest.new('sha1')
  6. OpenSSL::HMAC.digest(digest,"superscret","Lorem ipsum dolor sit amet")
  7. OpenSSL::HMAC.hexdigest(digest,"Lorem ipsum dolor sit amet")

猜你在找的Ruby相关文章