微信后台服务器配置验证(java版)

2020-01-03  本文已影响0人  Zn_go

微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
显然微信只给出了php版本的后台token验证,接下来将使用java进行后台验证。
建立一个springboot项目,根据文档编写相应的验证接口。
一、建立WxConnection.java

/**
 * 微信公众号连接
 */
@RestController
@RequestMapping("/WxConnection")
public class WxConnection {

    /**
     * 微信后台配置token验证
     *
     * @Param: [signature, timestamp, nonce, echostr]
     * @return: java.lang.String
     * @Author: 张宁
     * @Date: 2020/1/3
     */
    @GetMapping("/getWxGZHToken")
    public String getWxGZHToken(@RequestParam(required = false) String signature, @RequestParam(required = false) String timestamp, @RequestParam(required = false) String nonce, @RequestParam(required = false) String echostr) {
        String[] array = {"zndd1314", timestamp, nonce};
        Arrays.sort(array);
        String s = SHA1Util.encrypt(StringUtils.join(array));
        if (s.equals(signature)) {
            return echostr;
        }
        return "";
    }
}

二、代码使用到的sha1工具SHA1Util.java

public class SHA1Util {

    /**
     * sha1加密操作
     */
    public static String encrypt(String content) {
        try {
            // Create MD5 Hash
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            digest.update(content.getBytes());
            byte messageDigest[] = digest.digest();

            // Create Hex String
            StringBuffer hexString = new StringBuffer();
            for (int i = 0; i < messageDigest.length; i++)
                hexString.append(String.format("%02X", 0xFF & messageDigest[i]));

            return hexString.toString().toLowerCase();

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }

}

三、打包上传服务器,验证


服务器配置

点击提交即可

上一篇下一篇

猜你喜欢

热点阅读