package com.best.javaSdk;
|
|
import java.io.UnsupportedEncodingException;
|
import java.security.MessageDigest;
|
import java.security.NoSuchAlgorithmException;
|
|
public class Sign {
|
public static String makeSign(Param param){
|
String signString = makeSignString(param);
|
String sign = "";
|
try {
|
sign = digestEncrypte(signString.getBytes("utf-8"), "MD5");
|
} catch (NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
} catch (UnsupportedEncodingException e) {
|
e.printStackTrace();
|
}
|
return sign;
|
}
|
|
public static String makeBase64Sign(Param param){
|
String signString = makeSignString(param);
|
String sign = "";
|
try {
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
md.update(signString.getBytes("utf-8"));
|
byte[] b = md.digest();
|
sign = (new sun.misc.BASE64Encoder()).encode(b);
|
}catch (Throwable e) {
|
e.printStackTrace();
|
}
|
return sign;
|
}
|
|
private static String makeSignString(Param param) {
|
String signString = param.getBizData() + param.getPartnerKey(); return signString;
|
}
|
|
public static String digestEncrypte(byte[] plainText, String algorithm) throws NoSuchAlgorithmException, UnsupportedEncodingException {
|
MessageDigest md = MessageDigest.getInstance(algorithm);
|
md.update(plainText);
|
byte[] b = md.digest();
|
StringBuilder output = new StringBuilder(32);
|
for (int i = 0; i < b.length; i++) {
|
String temp = Integer.toHexString(b[i] & 0xff);
|
if (temp.length() < 2) {
|
output.append("0");
|
}
|
output.append(temp);
|
}
|
return output.toString();
|
}
|
}
|