1

在 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 库或任何其他库来做同样的事情?

4

1 回答 1

1

您可以使用 OpenSSL 绑定来执行此操作,如下所示:

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

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

require 'digest/sha1'
digest = Digest::SHA1.new
hex_digest = digest.update("value").hexdigest
于 2013-05-07T22:08:30.553 回答