欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信公众号校验中使用到的sha1加密算法

程序员文章站 2024-01-24 09:26:34
...

在微信中后台接受(本人使用JAVA)微信服务器的返回数据后,将接受到的token、timestamp、nonce三个参数进行字典序排序,将三个参数字符串拼接成一个字符串进行sha1加密

/**
* sha1加密
* @param str
* @return
*/
private static String sha1(String str) {
try {
//获取MessageDigest对象
MessageDigest md = MessageDigest.getInstance(“sha1”);
//字符串处理为byte数组
byte[] digest = md.digest(str.getBytes());
//便于二进制与十六进制之间的转换
char[] chars = {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’,‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’};
StringBuilder sb = new StringBuilder();
for(byte b : digest){
sb.append(chars[(b>>4)&15]);
sb.append(chars[b&15]);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

    return null;
}
相关标签: 微信公众号开发