47 lines
1.6 KiB
Java
47 lines
1.6 KiB
Java
package com.zeekling.solo.weixin.controller;
|
|
|
|
import com.qq.weixin.mp.aes.AesException;
|
|
import com.qq.weixin.mp.aes.WXBizMsgCrypt;
|
|
import com.zeekling.solo.weixin.conf.WeXinConfigure;
|
|
import com.zeekling.solo.weixin.entity.Validate;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.util.Arrays;
|
|
|
|
/**
|
|
* @author zeekling [lingzhaohui@zeekling.cn]
|
|
* @version 1.0
|
|
* @apiNote
|
|
* @since 2020-03-17
|
|
*/
|
|
@RestController
|
|
public class WeXinController {
|
|
|
|
|
|
@Resource
|
|
private WeXinConfigure wechatConfig;
|
|
|
|
@RequestMapping(value = "/validate")
|
|
public String validate(Validate validate) throws AesException {
|
|
String token = wechatConfig.getToken();
|
|
WXBizMsgCrypt pc = new WXBizMsgCrypt(token, wechatConfig.getAesKey(), wechatConfig.getAppId());
|
|
String signature = pc.encryptMsg(validate.getEchostr(), validate.getTimestamp(), validate.getNonce());
|
|
if(!"".equals(signature) && !"".equals(validate.getSignature()) && signature.equals(validate.getSignature())){
|
|
System.out.println("-----签名校验通过-----");
|
|
return validate.getEchostr();
|
|
}else {
|
|
System.out.println("-----校验签名失败-----");
|
|
return "";
|
|
}
|
|
|
|
}
|
|
|
|
}
|