7

使用 Google + Bing 并没有回答应该是一个简单的问题:

你应该如何使用 Ruby 中的 HMAC 模块来创建一个带有 MD5 的 HMAC(它使用一个秘密)?

HMAC 文档看起来非常薄。

谢谢!

4

6 回答 6

14

这应该是最简单的方法:

OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('md5'), secret_key, your_data)
于 2011-01-31T10:37:07.360 回答
7

应安装以下 gem:'ruby-hmac'

$ irb
>> require 'hmac-md5'
=> true
>> HMAC::MD5.new("abc").digest
=> "\324\035\214\331\217\000\262\004\351\200\t\230\354\370B~"
>> HMAC::MD5.new("abc").hexdigest
=> "d41d8cd98f00b204e9800998ecf8427e"
>> 
于 2009-08-31T22:29:50.203 回答
4

这就是我所做的:

HMAC::MD5.new(shared_key).update(data).hexdigest
于 2012-02-29T09:21:38.987 回答
3

在 2020 年,我是这样做的:

OpenSSL::HMAC.hexdigest("MD5", secret_key, your_data)

Ruby 文档可在此处获得:OpenSSL::HMAC

于 2020-03-10T11:20:53.903 回答
1

可能你只想要 HMAC::MD5.new(SECRET).digest

首先查找“加盐”哈希。这取决于您的使用情况,但添加固定字符串确实有助于使您的哈希值与其他应用程序的哈希值不同。因此,字典攻击更难。但这只是笼统地说。

于 2010-12-14T17:40:48.387 回答
-1

http://betterlogic.com/roger/?p=152

不?

或者我记得在我们的一个 Gems 中玩弄它,所以也许你可以从中逆向工程?

http://github.com/appoxy/aws/tree/master

希望这可以帮助。

乍得

于 2009-08-31T22:21:17.833 回答