2009-08-31 59 views

回答

7

下面的宝石应安装: '红宝石-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" 
>> 
+0

感谢。 包括一个秘密,是否正确地做到以下几点? HMAC :: MD5.new(SECRET +“abc”)。digest – Crashalot 2009-08-31 22:36:15

+0

可能你只是想要HMAC :: MD5.new(SECRET).digest – DigitalRoss 2009-08-31 23:45:13

1

也许你只是想HMAC :: MD5.new(SECRET).digest

首先查找“salting”散列。这取决于你的使用情况,但添加一个固定的字符串可以让你的哈希与其他应用中的哈希不同。因此,字典攻击更难。但这只是一般的说法。

14

这应该是最简单的方法:

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

这是我做过什么:

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