openssl ruby​​ 1.9.3和nodejs

时间:2013-05-07 21:55:18

标签: ruby-on-rails ruby node.js

在nodejs中,我可以使用crypto来执行这些功能:

var equal = function(value, tag) {
var expected = crypto.createHash('sha1').update(value).digest('hex'),
  actual    = crypto.createHash('sha1').update(tag).digest('hex');
 return expected === actual;

}

如何使用ruby 1.9.3 openssl库或任何其他库来做同样的事情?

1 个答案:

答案 0 :(得分:1)

您可以使用这样的OpenSSL绑定执行此操作:

require 'openssl'
digest = OpenSSL::Digest::SHA1.new
hex_digest = digest.update("value").hexdigest

您也可以使用digest / sha1库(如果您使用的是不支持OpenSSL绑定的Ruby运行时,或者您只是不想使用它们)

require 'digest/sha1'
digest = Digest::SHA1.new
hex_digest = digest.update("value").hexdigest