如何在Ruby中使用HMAC模块创建MD5哈希?

使用Google + Bing并没有给出一个简单问题的答案:

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

HMAC文档似乎非常薄。

谢谢!

应安装以下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" >> 

这应该是最简单的方法:

 OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('md5'), secret_key, your_data) 

这就是我做的:

 HMAC::MD5.new(shared_key).update(data).hexdigest 

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

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

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

没有?

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

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

希望这可以帮助。

乍得