微信公众号服务器配置token验证

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwl18210851801/article/details/84875557

pom中引入jar:

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>com.github.binarywang</groupId>
			<artifactId>weixin-java-mp</artifactId>
			<version>3.1.0</version>
		</dependency>

 token验证方法:

    /**
	 * 将微信公众号发送来的加密后的消息体解密
	 * @return
	 * @throws Exception
	 */
	@GetMapping(produces = "text/plain;charset=utf-8",value = "/msg")
	public static String msgEncrypt(
			@RequestParam(name = "signature",required = false) String signature,
			@RequestParam(name = "timestamp",required = false) String timestamp,
			@RequestParam(name = "nonce", required = false) String nonce,
			@RequestParam(name = "echostr", required = false) String echostr
	) throws Exception{
		System.out.print("进入token验证");
		System.out.print("signature:"+signature);
		String token = "token";

                 //字典序排序
		String[] strs = new String[]{token,timestamp,nonce};
		Arrays.sort(strs);

		System.out.print("加密后:"+SHA1.gen(strs));
		try {
			//判断加密后的字符串与signature字符串是否一致
			if( SHA1.gen(strs).equals(signature)){
				//一致返回rechostr
				return echostr;
			}
			else {
				//不一致返回error
				return "error";
			}
		} catch (Exception var5) {
			return "error";
		}
	}

猜你喜欢

转载自blog.csdn.net/zwl18210851801/article/details/84875557
今日推荐