Javascript PHP sha512 hmac产生的值与JS hmac不同

Javascript PHP sha512 hmac产生的值与JS hmac不同,javascript,php,authorization,hmac,sha512,Javascript,Php,Authorization,Hmac,Sha512,下面是我的一些JS代码。我使用Crypto创建hmac,然后将日期和签名作为请求头传入PHP中使用: 事件:{ proxyReq:(proxyReq,req)=>{ const date=date.now(); 常数API_KEY=125; const API_SECRET_KEY='abc'; const s=新缓冲区(API_SECRET_KEY,'base64'); const message=req.method+req.url+date; 设hmac=crypto.createHmac

下面是我的一些JS代码。我使用Crypto创建hmac,然后将日期和签名作为请求头传入PHP中使用:

事件:{
proxyReq:(proxyReq,req)=>{
const date=date.now();
常数API_KEY=125;
const API_SECRET_KEY='abc';
const s=新缓冲区(API_SECRET_KEY,'base64');
const message=req.method+req.url+date;
设hmac=crypto.createHmac('sha512',s);
const signature=hmac.update(message.digest('base64');
proxyReq.setHeader('x-api-key',api\U key);
proxyReq.setHeader('x-api-signature',signature);
proxyReq.setHeader('x-api-date',日期);
},
},
这是我的PHP函数,我尝试使用hash_hmac()复制相同的hmac:

我最后的产出:

[2018-07-10 14:23:57] local.ERROR: D0xis7BbxLBg6eWBlIT0ZSnhzk4c3Z3Ore9B16bNZow8xoinfM1zuMlS+lZ6pcOqRRHuupodUVFAIHfv89v4xw==  
[2018-07-10 14:23:57] local.ERROR: Uypk5ZAd/I6E6sMi9UjIMyMxVhuQm7MatZbKCcGjGjsE2JqqrvTRYuJAR/SSde10eHAkPIz0g24CSZp0G+833A== 
有人能解释一下我做错了什么吗?我确保使用base64编码/解码,并确保传入hmac函数的值与头相同


谢谢你的帮助

看起来您在客户端上使用的密钥是
125
,但在服务器上您使用的是
abc
@bc1105,我使用的是“abc”作为密钥。我将两个api_secret都设置为“abc”。很抱歉,我应该保持变量的一致性和显著性。修正了它以提高可读性。
[2018-07-10 14:23:57] local.ERROR: D0xis7BbxLBg6eWBlIT0ZSnhzk4c3Z3Ore9B16bNZow8xoinfM1zuMlS+lZ6pcOqRRHuupodUVFAIHfv89v4xw==  
[2018-07-10 14:23:57] local.ERROR: Uypk5ZAd/I6E6sMi9UjIMyMxVhuQm7MatZbKCcGjGjsE2JqqrvTRYuJAR/SSde10eHAkPIz0g24CSZp0G+833A==