blog-weixin/src/main/java/com/zeekling/solo/weixin/controller/WeXinController.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 "";
}
}
}