如何在Ruby中使用HMAC模块创建MD5哈希?

问题描述 投票:7回答:6

使用Google + Bing并没有给出应该是一个简单问题的答案:

您应该如何在Ruby中使用HMAC模块来创建带有MD5的HMAC(使用秘密)?

HMAC文档似乎非常薄。

谢谢!

ruby-on-rails ruby md5 hmac
6个回答
7
投票

应安装以下gem:'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"
>> 

14
投票

这应该是最简单的方法:

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

4
投票

这是我做的:

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

1
投票

可能您只需要HMAC :: MD5.new(SECRET).digest

首先查找“向哈希表添加盐”。这取决于您的用法,但是添加固定的字符串确实可以通过使您的哈希值不同于其他应用程序的哈希值来提供帮助。因此,字典攻击更加困难。但这只是一般而言。


0
投票

2020年,我就是这样做的:

OpenSSL::HMAC.hexdigest("MD5", secret_key, your_data)

Ruby文档在这里可用:OpenSSL::HMAC


-1
投票

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

否?

或者我记得在我们的一个宝石中玩弄它,所以也许您可以从中进行逆向工程?

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

希望这会有所帮助。

乍得

© www.soinside.com 2019 - 2024. All rights reserved.