Как создать хеш MD5 с модулем HMAC в Ruby? - PullRequest
7 голосов
/ 01 сентября 2009

Использование Google + Bing не дало ответа на простой вопрос:

Как предполагается использовать модуль HMAC в Ruby для создания HMAC с MD5 (который использует секрет)?

Документы HMAC кажутся ужасно тонкими.

Спасибо!

Ответы [ 5 ]

14 голосов
/ 31 января 2011

Это должен быть самый простой способ:

OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('md5'), secret_key, your_data)
7 голосов
/ 01 сентября 2009

Должен быть установлен следующий гем: 'ruby-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"
>> 
4 голосов
/ 29 февраля 2012

Вот что я сделал:

HMAC::MD5.new(shared_key).update(data).hexdigest
1 голос
/ 14 декабря 2010

Возможно, вы просто хотите HMAC :: MD5.new (СЕКРЕТ) .digest

Поиск "соления" в первую очередь хеш. Это зависит от вашего использования, но добавление фиксированной строки помогает, делая ваши хеши отличными от хешей из других приложений. Таким образом, атака по словарю сложнее. Но это вообще говоря.

0 голосов
/ 01 сентября 2009

http://betterlogic.com/roger/?p=152

нет

Или я помню, как играл с ним в одном из наших Драгоценных камней, так что, может быть, вы сможете от него реэкжинировать?

http://github.com/appoxy/aws/tree/master

Надеюсь, это поможет.

Чад

...