接口文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
签名生成校检地址 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
package com.borntrust.common.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA1Helper {
public static String sha1(String decript) {
try {
MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
digest.update(decript.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
// 字节数组转换为 十六进制 数
for (int i = 0; i < messageDigest.length; i++) {
String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
if (shaHex.length() < 2) {
hexString.append(0);
}
hexString.append(shaHex);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
}
注意:
在生成签名算法时间戳应该为秒即以下方法:
public static String getTimestamp() {
return String.valueOf(System.currentTimeMillis() / 1000);
}