微信后台服务器配置验证(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 "";
}
}
三、打包上传服务器,验证
服务器配置
点击提交即可