java8的base64加密生成字符串中不会有空格回车,其他包中生成的字符串中有可能存在
//此处为java8的base64
public static String createSig(String params_str) throws Exception {
String asB64 = Base64.getEncoder().encodeToString(params_str.getBytes(“utf-8”));
byte[] ss = HMACSHA1.HmacSHA1Encrypt(asB64, “4d8e605fa7ed546c4bcb33dee1381179”);
byte[] ss11 = new byte[]{46,-33,-13,57,-109,79,49,31,-45,-128,-3,75,-127,-23,-102,37,-101,-110,-12,-43};
String sig = MD5.MD5(“”);
System.out.println(sig);
return sig;
}
//此处为import sun.misc.BASE64Encoder; 两个串有区别
public static String createSig(String params_str) throws Exception {
BASE64Encoder encoder = new BASE64Encoder();
params_str = encoder.encode(params_str.getBytes(“utf8”));
byte[] ss = HMACSHA1.HmacSHA1Encrypt(params_str, “4d8e605fa7ed546c4bcb33dee1381179”);
byte[] ss11 = new byte[]{46,-33,-13,57,-109,79,49,31,-45,-128,-3,75,-127,-23,-102,37,-101,-110,-12,-43};
String ss1 = Base64.encodeBase64String(ss11);
System.out.println(ss1);
String sig = MD5.MD5(“”);
System.out.println(sig);
return sig;
}