2009-08-31 8 views
7

Mit Google + Bing keine Antwort auf brachte, was eine einfache Frage sein sollte:Wie MD5-Hash mit HMAC-Modul in Ruby erstellen?

Wie Sie das HMAC-Modul in Ruby verwenden sollen einen HMAC mit MD5 (das verwendet ein Geheimnis) zu schaffen?

Die HMAC-Dokumente scheinen sehr dünn.

Danke!

Antwort

7

Die folgende Juwel sollte installiert werden: 'Rubin-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

Dank. ein Geheimnis enthalten, ist richtig, das folgende zu tun? HMAC :: MD5.new (SECRET + "abc"). Digest – Crashalot

+0

Wahrscheinlich möchten Sie nur HMAC :: MD5.new (SECRET). Digest – DigitalRoss

1

Wahrscheinlich wollen Sie gerade HMAC :: MD5.new (SECRET) .digest

Sucht "Salzen" zuerst einen Hash. Das hängt von Ihrer Verwendung ab, aber das Hinzufügen eines festen Strings hilft Ihnen dabei, Ihre Hashes anders zu machen als die Hashes anderer Apps. Daher ist ein Wörterbuchangriff schwieriger. Aber das ist nur allgemein gesagt.

14

Dies sollte der einfachste Weg sein:

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

Das ist, was ich tat:

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