Xively设备激活码使用HMAC-SHA1算法不匹配

时间:2016-01-17 22:28:05

标签: xively

我正在尝试从产品密码和设备序列号计算激活码,我计算的激活码始终与Xively不同。

有人可以帮我指出我错在哪里吗?

来自Xievely门户网站:

Product ID: 4sA5tK9XF_3xKfOawmyO
Product Secret: be0f6928e3653cf175b7f8ebb2da50c6658b30b7
Serial Number: 123123123
Activation Code: 93d80b284a19d14e99d9abb7d637afc59d4b0f95

我用PHP测试过:

echo hash_hmac("sha1","123123123","be0f6928e3653cf175b7f8ebb2da50c6658b30b7");

我生成的激活码是: 66b02f4c691287144c09e3b76816275742c155b5 ,这与Xively不同。

请帮助,万分感谢。

1 个答案:

答案 0 :(得分:1)

如果您使用的是PHP 5,则可以使用hex2bin()将秘密转换为二进制文件,这应该可行。试试这个:

$secret_string='be0f6928e3653cf175b7f8ebb2da50c6658b30b7';
$secret=hex2bin($secret_string);
echo hash_hmac("sha1", '123123123',$secret)."\n";

如果没有PHP5,你可以自己定义hex2bin。