微信公众号校验中使用到的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;
}
上一篇: JavaWeb:处理请求中文乱码的问题
下一篇: 微信公众号之微信分享