如何在Ruby中使用HMAC模块创建MD5哈希?
问题描述:
使用Google + Bing并没有给出应该是一个简单问题的答案:如何在Ruby中使用HMAC模块创建MD5哈希?
你应该如何在Ruby中使用HMAC模块来创建具有MD5(使用秘密)的HMAC?
HMAC文档看起来非常薄。
谢谢!
答
下面的宝石应安装: '红宝石-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"
>>
答
http://betterlogic.com/roger/?p=152
不是?
或者我记得在我们的宝石里面玩弄它,所以也许你可以从它反向工程?
http://github.com/appoxy/aws/tree/master
希望这有助于。
乍得
答
也许你只是想HMAC :: MD5.new(SECRET).digest
首先查找“salting”散列。这取决于你的使用情况,但添加一个固定的字符串可以让你的哈希与其他应用中的哈希不同。因此,字典攻击更难。但这只是一般的说法。
答
这应该是最简单的方法:
OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('md5'), secret_key, your_data)
答
这是我做过什么:
HMAC::MD5.new(shared_key).update(data).hexdigest
感谢。 包括一个秘密,是否正确地做到以下几点? HMAC :: MD5.new(SECRET +“abc”)。digest – Crashalot 2009-08-31 22:36:15
可能你只是想要HMAC :: MD5.new(SECRET).digest – DigitalRoss 2009-08-31 23:45:13