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

标签 xively

我正在尝试根据产品 key 和设备序列号计算激活码,我计算的激活码总是与 Xively 的不同。

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

来自 Xievely 门户网站:

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

我用 PHP 测试过:
echo hash_hmac("sha1","123123123","be0f6928e3653cf175b7f8ebb2da50c6658b30b7");

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

请帮忙,谢谢一百万。

最佳答案

如果您使用的是 PHP 5,您可以使用 hex2bin() 将 secret 转换为二进制,这应该可以工作。尝试这个:

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

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

保罗

关于Xively 设备激活码与使用 HMAC-SHA1 算法不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844524/

相关文章:

javascript - 如何为 Xively 数据流创建 Highstock 图表?

c - 浮点精度 C - 将参数传递给 Xively

jquery - 为什么 Highcharts 不接受我的 JSON 中的 UTC 值?

android - 通过 HTTP 将 JSON 发送到服务器在 android 中放置请求

tcp - 为什么使用 AT 命令从 Arduino GPRS 连接到 xively 时 TCP 连接一直关闭?

python - 如何在(python)heroku应用程序中连续从xively读取数据?

android - Xively:获取数据时未经授权

c++ - 使用 g++ 包含库