java微信公众号服务器配置

原创 2018年04月15日 16:39:40

1.微信公众号配置


2.java端验证

/**
 * 微信公众号验证
 * @return
 */
@RequestMapping(value = "/wechatAuth")
@ResponseBody
public String wechatAuth(String signature, String timestamp, String nonce, String echostr) {
   //获取微信服务器配置的自定义token
   String token = PropertiesUtil2.getPropertyFile("/wechat-context.properties").getProperty("wechatToken");
   String sig = null;
   try {
      sig = SHA1.getSHA1(token,timestamp,nonce,"");
   } catch (AesException e) {
      e.printStackTrace();
   }
   logger.info(sig+","+signature+","+timestamp+","+nonce+","+echostr);
   if(signature.equals(sig)){
      return echostr;
   }else{
      return "error";
   }
}
package aes;

import java.security.MessageDigest;
import java.util.Arrays;

/**
 * SHA1 class
 *
 * 计算公众平台的消息签名接口.
 */
public class SHA1 {

	
   public final static int ComputeSignatureError = -40003;


   /**
    * 用SHA1算法生成安全签名
    * @param token 票据
    * @param timestamp 时间戳
    * @param nonce 随机字符串
    * @param encrypt 密文
    * @return 安全签名
    * @throws AesException 
    */
   public static String getSHA1(String token, String timestamp, String nonce, String encrypt) throws AesException{
      try {
         String[] array = new String[] { token, timestamp, nonce, encrypt };
         StringBuffer sb = new StringBuffer();
         // 字符串排序
         Arrays.sort(array);
         for (int i = 0; i < 4; i++) {
            sb.append(array[i]);
         }
         String str = sb.toString();
         // SHA1签名生成
         MessageDigest md = MessageDigest.getInstance("SHA-1");
         md.update(str.getBytes());
         byte[] digest = md.digest();

         StringBuffer hexstr = new StringBuffer();
         String shaHex = "";
         for (int i = 0; i < digest.length; i++) {
            shaHex = Integer.toHexString(digest[i] & 0xFF);
            if (shaHex.length() < 2) {
               hexstr.append(0);
            }
            hexstr.append(shaHex);
         }
         return hexstr.toString();
      } catch (Exception e) {
         e.printStackTrace();
         throw new AesException(ComputeSignatureError);
      }
   }
}

注:嫌麻烦直接返回encrypt字段。。。

java开发微信公众平台(一)-- 服务器配置

java开发微信公众平台(一)-- 服务器配置 时间:2015-04-01 23:39:01      阅读:85      评论:0      收藏:0      [点我收藏+] 标签:  ...
  • csnewdn
  • csnewdn
  • 2016-12-15 08:46:35
  • 3028

java后台 微信公众号 开发者 服务器配置

  • 2016年08月26日 11:02
  • 1KB
  • 下载

Java微信开发-服务器配置等信息-

直接一点哈,用的是Java开发的、SpringMvc。自己只是把自己遇到的东西 写下来 ,方便以后查看,大家也可以了解一下。有什么问题可以一起探讨! 如果启用“开发者中心”,则微信公众平台本身的自动回...
  • u010592604
  • u010592604
  • 2015-10-10 14:40:36
  • 1163

微信公众号的开发之 服务器配置(一)

首先: 你得有一个微信公众号,当然你也可以使用测试的公众号 其次:微信开发接口文档http://mp.weixin.qq.com/wiki/home/index.html 步骤...
  • yucaoye
  • yucaoye
  • 2016-02-24 20:00:44
  • 4605

微信公众号入门笔记(一)启用服务器配置

最近研究了下微信公众号开发,这几篇文章是我的笔记。   首先你要有个公众号,去https://mp.weixin.qq.com/注册。现在个人只能注册订阅号,订阅号有些接口是不开放的,没办法我们只好先...
  • zhutulang
  • zhutulang
  • 2016-01-31 10:37:13
  • 40630

微信公众平台开发教程Java版(二) 接口配置

微信公众账号申请完成后,默认开启的是编辑模式。 我们需要修改为开发模式。   登陆微信公众平台》功能》高级功能 先关闭 编辑模式,再开启 开发模式。   申请成为开发者,如果是服务号,需要则会有开发者...
  • tuposky
  • tuposky
  • 2014-10-29 17:24:43
  • 10115

微信公众号开发之服务器配置

由于个人公众号的需要,从现在开始也加入到公众号开发的队伍中啦~ 微信的用户数量已经达到9E+了,庞大的用户基数,活跃的微信社区,开放的平台。通过这一平台,每一个人都可以用一个qq 号码,打造自己的...
  • qq1052441272
  • qq1052441272
  • 2016-12-06 16:20:02
  • 3982

java开发微信公众平台-- 服务器配置

微信公众平台开发好像已经火了很长一段时间,我好像有点后知后觉。但只从了解它后便有点不可收拾之势,脑袋里总想着开发一个自己的公众号,虽然不知道具体做什么。   下面就说说自己这段时间对公众号的学习...
  • zyy8155454
  • zyy8155454
  • 2016-12-14 13:39:57
  • 208

微信公共平台开发(一):服务器配置

文档介绍了如何开启自己的微信开发之旅,如何利用java实现微信公共平台服务器有效性的验证...
  • xiaojimanman
  • xiaojimanman
  • 2015-04-14 16:18:43
  • 12617
收藏助手
不良信息举报
您举报文章:java微信公众号服务器配置
举报原因:
原因补充:

(最多只允许输入30个字)