当前位置:首页 > 操作系统 > MacOs

如何在PHP中将hmacsha1键设置为十六进制?

我可以使用以下代码成功获取HMAC SHA1签名密钥:

<code>echo hash_hmac('sha1','office:fred','AA381AC5E4298C23B3B3333333333333333333');
</code>

产量:

<code>5e50e6458b0cdc7ee534967d113a9deffe6740d0
</code>

但是,我正在与之合作的地方是:

<code>46abe81345b1da2f1a330bba3d6254e110cd9ad8
</code>

我尝试了online tool,看起来两者之间的区别在于我正在使用的人正在期待一个HEX类型的签名密钥.

为了输出HEX类型,我需要添加到PHP中吗?

解决方法:

在将十六进制字符串传递给hash_hmac之前,您需要将十六进制字符串转换为二进制数据:

<code>var_dump(hash_hmac("sha1", "office:fred", pack("H*", "AA381AC5E4298C23B3B3333333333333333333")));
</code>

按预期输出46abe81345b1da2f1a330bba3d6254e110cd9ad8.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐