HMAC SHA256十六进制字符串在Erlang中的消化,如何?
我正在尝试与 Pusher.com 创建和维护的第三方实时Web消息系统进行互动。现在,我不能通过API发送任何东西,除非我产生一个 HMAC SHA256十六进制摘要
我的数据。用 ruby
写的示例源代码可以尝试说明:
I am trying to interact with third party real time Web messaging System created and maintained by Pusher.com. Now, i cannot send anything through the API unless i produce an HMAC SHA256 hex digest
of my data. A sample source code written in ruby
could try to illustrate this:
# Dependencies
# gem install ruby-hmac
#
require 'rubygems'
require 'hmac-sha2'
secret = '7ad3773142a6692b25b8'
string_to_sign = "POST\n/apps/3/channels/test_channel/events\nauth_key=278d425bdf160c739803&auth_timestamp=1272044395&auth_version=1.0&body_md5=7b3d404f5cde4a0b9b8fb4789a0098cb&name=foo"
hmac = HMAC::SHA256.hexdigest(secret, string_to_sign)
puts hmac
# >> 309fc4be20f04e53e011b00744642d3fe66c2c7c5686f35ed6cd2af6f202e445
我选中了 a href =http://www.erlang.org/doc/apps/crypto/index.html> erlang crypto库 ,我甚至不能生成 SHA256十六进制摘要
直接
我如何在Erlang做这整个事情? help ....
* UPDATE *
我在这里找到了解决方案: erlang中的sha256加密,他们带我去了 erlsha2 。但是,我如何生成从这个模块输出的 SHA256 hexdigest
的 HMAC
?
I checked the erlang crypto Library and i cannot even generate a SHA256 hex digest
"directly"
How do i do this whole thing in Erlang ? help....
* UPDATE *
I have found solutions here: sha256 encryption in erlang and they have led me to erlsha2. But still, how do i generate the HMAC
of a SHA256 hexdigest
output from this module ?
通过 erlsha2 ,使用以下代码获取与您的Ruby代码相同的代码:
With erlsha2, use the following to get the equivalent of your Ruby code:
1> hmac:hexlify(hmac:hmac256(<<"7ad3773142a6692b25b8">>, <<"POST\n/apps/3/channels/test_channel/events\nauth_key=278d425bdf160c739803&auth_timestamp=1272044395&auth_version=1.0&body_md5=7b3d404f5cde4a0b9b8fb4789a0098cb&name=foo">>)).
"309FC4BE20F04E53E011B00744642D3FE66C2C7C5686F35ED6CD2AF6F202E445"