加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:48:01 所属栏目:PHP教程 来源:网络整理
导读:我可以使用以下代码成功获取HMAC SHA1签名密钥: echo hash_hmac('sha1','office:fred','AA381AC5E4298C23B3B3333333333333333333'); 产量: 5e50e6458b0cdc7ee534967d113a9deffe6740d0 但是,我正在与之合作的地方是: 46abe81345b1da2f1a330bba3d6254e110cd
我可以使用以下代码成功获取HMAC SHA1签名密钥:

echo hash_hmac('sha1','office:fred','AA381AC5E4298C23B3B3333333333333333333');

产量:

5e50e6458b0cdc7ee534967d113a9deffe6740d0

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

46abe81345b1da2f1a330bba3d6254e110cd9ad8

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

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

解决方法

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

var_dump(hash_hmac("sha1","office:fred",pack("H*","AA381AC5E4298C23B3B3333333333333333333")));

按预期输出46abe81345b1da2f1a330bba3d6254e110cd9ad8.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读