微信公众号开发-签名验证本地服务器方法
来源:互联网 发布:软件开发策划书 编辑:程序博客网 时间:2024/04/29 11:18
使用微信公众平台开发发者模式,第一件事就是要通过验证,就是token的验证。很多用户在开发微信公众平台的时候,对于第一次公众平台身份验证(Token 认证)走了不少弯路
//该类是微信公众号开发,发请求到服务器验证签名是否通过
public class SignUtil {
private static String token = "Token";//签名验证token
public static boolean checkSignature(String signature, String timestamp, String nonce) {
String[] paramArr = new String[] { token, timestamp, nonce };
Arrays.sort(paramArr);
String content = paramArr[0].concat(paramArr[1]).concat(paramArr[2]);
String ciphertext = null;
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] digest = md.digest(content.toString().getBytes());
ciphertext = byteToStr(digest);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return ciphertext != null ? ciphertext.equals(signature.toUpperCase()) : false;
}
private static String byteToStr(byte[] byteArray) {
String strDigest = "";
for (int i = 0; i < byteArray.length; i++) {
strDigest += byteToHexStr(byteArray[i]);
}
return strDigest;
}
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
- 微信公众号开发-签名验证本地服务器方法
- 微信公众号开发443端口,本地服务器,小记
- 微信公众号开发验证服务器Token失败
- 微信公众号开发 配置服务器URL,验证Token
- 微信公众号开发2-验证服务器有效性
- .net mvc 微信公众号 验证微信签名
- 微信公众号开发本地测试方法
- 微信公众号支付流程解读及支付签名验证方法
- 微信开发公众号本地调试
- ngrok微信公众号本地开发
- 微信公众号支付签名验证错误chooseWXPay:fail
- 微信公众号支付签名验证错误
- java微信公众号开发01 - 微信服务器的接入和验证
- java微信公众号开发 - 微信服务器的接入和验证
- 微信公众号开发-url验证
- 微信开发--验证服务器的有效性签名工具类
- 微信开发 公众号接入服务器
- 微信公众号开发部署服务器
- Bootstrap 表头及响应式
- window 批处理如何读取文件内容变量
- 惰性函数详解
- tomcat启用gzip压缩
- 微信小程序-定时器
- 微信公众号开发-签名验证本地服务器方法
- C#获取磁盘总容量和剩余容量
- 第51篇一对多实现之学生端去遮罩层及往服务器上传图片(一)
- Lesson 9 A cold welcome
- HTML的target属性中_blank、_self、_parent、_top含义
- Jetty
- ZYNQ嵌入式视觉应用优势及前景
- SLF4J使用和与Log4J对比
- Sublime Text 3 快捷键汇总