300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微信测试公众号配置失败 {“errcode“:-106 “errmsg“:“token check fail“}

微信测试公众号配置失败 {“errcode“:-106 “errmsg“:“token check fail“}

时间:2022-06-24 21:58:36

相关推荐

微信测试公众号配置失败 {“errcode“:-106 “errmsg“:“token check fail“}

这是我的实现类代码:

log.info("开始调用微信公众号签名验证接口!!!");log.info("微信验签传递的参数分别为:signature:{}、timestamp:{}、nonce:{}、echostr:{}",signature, timestamp, nonce, echostr);// 微信验签传递的参数均非空if (Stream.of(signature, timestamp, nonce, echostr).anyMatch(StringUtils::isBlank)) {log.info("微信验签传递的参数存在空值,微信验签失败!!!");return null;}// 构建参数列表,将参数排序并拼接为一个字符串List<String> arguments = Arrays.asList(weChatConfig.getToken(), timestamp, nonce);String concatenatedArguments = arguments.stream().sorted().collect(Collectors.joining());log.info("微信公众号配置的Token为:" + weChatConfig.getToken());try {// 创建MessageDigest对象,使用指定的摘要算法MessageDigest digest = MessageDigest.getInstance(WeChatConstant.DIGEST_ALGORITHM);// 计算摘要,将拼接的参数字符串转换为字节数组后进行摘要计算String calculatedDigest = Hex.encodeHexString(digest.digest(concatenatedArguments.getBytes()));if (StringUtils.equals(signature, calculatedDigest)) {log.info("调用微信公众号签名验证接口完毕,微信验签成功!!!");return echostr;}} catch (NoSuchAlgorithmException e) {e.printStackTrace();log.info("微信验签过程中发生了异常,微信验签失败!!!");}log.info("调用微信公众号签名验证接口完毕,微信验签失败!!!");return null;

这是实现类中用到的常量:

​/*** 微信验签 验签参数的加密算法*/public static final String DIGEST_ALGORITHM = "sha1";​

这是微信测试公众号配置失败 {"errcode":-106,"errmsg":"token check fail"}的控制层代码:

这是微信测试公众号配置成功的控制层代码:

这是微信官方文档:

最后,我只想说:tmd,好无语了!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。