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

+0

おそらくHMAC :: MD5.new(SECRET).digestが必要です – DigitalRoss

1

おそらく、あなただけしたいHMAC :: MD5.new(SECRET).digest

まず、ハッシュを「塩漬け」します。あなたの使い方によって異なりますが、固定ストリングを追加することは、他のアプリからのハッシュと異なるハッシュを作成することによって役立ちます。したがって、辞書攻撃はより困難です。しかし、それはちょうど一般的に話している。

14

これは最も簡単な方法のようになります。

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

これは私がやったことです:

HMAC::MD5.new(shared_key).update(data).hexdigest 
関連する問題