解决php的sha1和java的sha1(DigestUtils.sha1Hex)产生的字符串不相等的问题

论坛 期权论坛 脚本     
匿名技术用户   2020-12-29 04:42   32   0

  最近对接某个第三方服务,其中对接某些api需要用到他们的签名回调,根据他们传来的get参数和apiSecret进行拼接并使用sha1加密,然后返回弄成jsonp的格式返回,出于菜鸟的本能,首先是下载了他们的demo进行查看,发现只有java的版本,使用了DigestUtils.sha1Hex函数对字符串进行了sha1加密。

String signToken = String.valueOf(DigestUtils.sha1Hex(message + apiSecret));

  然后我也如法炮制,使用了php的sha1进行加密,发现输出字符串和java上面的函数输出不同,自然也不能通过他的sign验证,这时候百度了国内很多资料都查不出解决方案,最后在stackoverflow找到了答案,如此使用就可以解决了:

$sign = sha1($str, false);

  希望对有需要对接api的朋友有帮助。

转载于:https://www.cnblogs.com/s-b-b/p/7459253.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP