我正在尝试从产品密码和设备序列号计算激活码,我计算的激活码始终与Xively不同。
有人可以帮我指出我错在哪里吗?
来自Xievely门户网站:
Product ID: 4sA5tK9XF_3xKfOawmyO
Product Secret: be0f6928e3653cf175b7f8ebb2da50c6658b30b7
Serial Number: 123123123
Activation Code: 93d80b284a19d14e99d9abb7d637afc59d4b0f95
我用PHP测试过:
echo hash_hmac("sha1","123123123","be0f6928e3653cf175b7f8ebb2da50c6658b30b7");
我生成的激活码是: 66b02f4c691287144c09e3b76816275742c155b5 ,这与Xively不同。
请帮助,万分感谢。
答案 0 :(得分:1)
如果您使用的是PHP 5,则可以使用hex2bin()将秘密转换为二进制文件,这应该可行。试试这个:
$secret_string='be0f6928e3653cf175b7f8ebb2da50c6658b30b7';
$secret=hex2bin($secret_string);
echo hash_hmac("sha1", '123123123',$secret)."\n";
如果没有PHP5,你可以自己定义hex2bin。
保