如果你的API服务安全认证协议中要求使用hmac_sha1方法对信息进行编码,
而你的服务是由PHP实现的,客户端是由JAVA实现的,那么为了对签名正确比对,就需要在两者之间建立能匹配的编码方式.
PHP侧如下:
1. hmac_sha1编码结果需要转换成hex格式
2. java中base64的实现和php不一致,其中java并不会在字符串末尾填补=号以把字节数补充为8的整数
3. hmac_sha1并非sha1, hmac_sha1是需要共享密钥的
参考实现如下:
如果你的API服务安全认证协议中要求使用hmac_sha1方法对信息进行编码,
而你的服务是由PHP实现的,客户端是由JAVA实现的,那么为了对签名正确比对,就需要在两者之间建立能匹配的编码方式.
PHP侧如下:
1. hmac_sha1编码结果需要转换成hex格式
2. java中base64的实现和php不一致,其中java并不会在字符串末尾填补=号以把字节数补充为8的整数
3. hmac_sha1并非sha1, hmac_sha1是需要共享密钥的
参考实现如下:
| 评论 |
|
|