第一篇:关于微信公众号开发配置
来源:互联网 发布:seo网站制作 编辑:程序博客网 时间:2024/05/29 10:17
今天记录一篇关于微信公众号开发者配置的心得记录,如果想使用代码自定义开发首先关闭管理平台的自定义菜单功能,在菜单下方的基本配置中点击启动服务器配置:
1.服务器地址:即要开发项目的访问地址,首先要创建一个访问方法接受来自微信服务器的访问
2.填写token令牌(注意这里的token不是access_token,此处可以随意自定义一个token)
3.消息加解密钥:随机生成即可
4.消息加解密可选:明文模式
ps:配置服务器配置的前提是首先要先创建一个项目,配置项目的服务器地址访问方法,如下图,接受来自微信服务器的请求,校验signature(加密签名是否和我们自定义的token令牌相同),相同则运行配置,此处贴出接受请求的方法和验证签名的工具类。
/*** 类名: SignUtil </br>* 描述: 检验signature 工具类 验证签名的工具类 </br>* 开发人员: souvc </br>* 创建时间: 2015-9-29 </br>* 发布版本:V1.0 </br> */public class SignUtil { // 与接口配置信息中的Token要一致 private static String token = "****";//服务器配置中的自定义token /** * 方法名:checkSignature</br> * 详述:验证签名</br> * 开发人员:souvc</br> * 创建时间:2015-9-29 </br> * @param signature * @param timestamp * @param nonce * @return * @throws */ public static boolean checkSignature(String signature, String timestamp,String nonce) { // 1.将token、timestamp、nonce三个参数进行字典序排序 String[] arr = new String[] { token, timestamp, nonce }; Arrays.sort(arr); // 2. 将三个参数字符串拼接成一个字符串进行sha1加密 StringBuilder content = new StringBuilder(); for (int i = 0; i < arr.length; i++) { content.append(arr[i]); } MessageDigest md = null; String tmpStr = null; try { md = MessageDigest.getInstance("SHA-1"); // 将三个参数字符串拼接成一个字符串进行sha1加密 byte[] digest = md.digest(content.toString().getBytes()); tmpStr = byteToStr(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } content = null; // 3.将sha1加密后的字符串可与signature对比,标识该请求来源于微信 return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false; } /** * 方法名:byteToStr</br> * 详述:将字节数组转换为十六进制字符串</br> * 开发人员:souvc </br> * 创建时间:2015-9-29 </br> * @param byteArray * @return * @throws */ private static String byteToStr(byte[] byteArray) { String strDigest = ""; for (int i = 0; i < byteArray.length; i++) { strDigest += byteToHexStr(byteArray[i]); } return strDigest; } /** * 方法名:byteToHexStr</br> * 详述:将字节转换为十六进制字符串</br> * 开发人员:souvc</br> * 创建时间:2015-9-29 </br> * @param mByte * @return * @throws */ private static String byteToHexStr(byte mByte) { char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F' }; char[] tempArr = new char[2]; tempArr[0] = Digit[(mByte >>> 4) & 0X0F]; tempArr[1] = Digit[mByte & 0X0F]; String s = new String(tempArr); return s; }}
阅读全文
0 0
- 第一篇:关于微信公众号开发配置
- 基于springboot+mybatis的微信公众号开发第一篇-基本架构
- 微信开发第一篇了解微信公众平台(所有测试代码已上传博客)
- 微信公众号开发配置
- 微信公众号开发配置注意事项
- 微信公众号支付开发配置
- 微信公众平台第一篇--认识公众平台
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
- 微信开发第一篇
- 微信公众号开发第1篇---注册微信公众帐号
- 关于微信公众号
- 微信公众号开发中关于cookie的问题
- 关于微信公众号开发40001错误解释
- 微信公众号配置
- [027] 微信公众帐号开发教程第3篇-开发模式启用及接口配置
- 微信公众帐号开发教程第3篇-开发模式启用及接口配置
- [027] 微信公众帐号开发教程第3篇-开发模式启用及接口配置 .
- Visual Studio Code v.s Atom-IDE:Web 开发哪家强?
- 【LeetCode】283. Move Zeroes
- Linux查看用系统运行时间
- 字符设备驱动模块与测试代码编写(转)
- jQuery操作input值总结
- 第一篇:关于微信公众号开发配置
- android fitsSystemWindows的使用
- 第一个项目 杂记11.16(弹窗)
- SpringMVC的基本原理
- Spring Cloud构建微服务架构—服务容错保护(Hystrix服务降级)
- 【第1112期】前端 Console 调试小技巧
- TCP协议的基本知识总结
- springmvc整合dubbo
- ESP8266-SDK编写的TM1668程序驱动数码管