springboot微信公众号的接入

整个过程分为以下几步:

1 内网穿透

2 接收参数

3 参数排序

4 sha1加密

5 返回随机数

1  接入微信公众号原理就是我们自己的程序与微信公众号服务器数据交互,所以需要一个软件将我们内网映射到外网。推荐ngrok。 打开命令行模式,运行ngrok -config ngrok.cfg -subdomain  example(我的域名) 8080。

springboot微信公众号的接入

2 接收参数,如图

springboot微信公众号的接入

3 上图 validParams()方法具体如下

springboot微信公众号的接入

4 进行sha1加密,这样的方法网上一抄一大堆,就贴出来吧,可复制

/**
 * 将字符串进行sha1加密
 *
 * @param str 需要加密的字符串
 * @return 加密后的内容
 */
public String sha1(String str) {
    try {
        MessageDigest digest = MessageDigest.getInstance("SHA-1");
        digest.update(str.getBytes());
        byte messageDigest[] = digest.digest();
        // Create Hex String
        StringBuffer hexString = new StringBuffer();
        // 字节数组转换为 十六进制 数
        for (int i = 0; i < messageDigest.length; i++) {
            String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
            if (shaHex.length() < 2) {
                hexString.append(0);
            }
            hexString.append(shaHex);
        }
        return hexString.toString();

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

5 返回随机数,如果前边的都通过了返回给微信服务器。即可完成接入

也算是比较简单的