2009-08-31 58 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