// 哈希函数/散列算法
// 根据某个值进行hash值计算,确保唯一性
public class HashUtils {
private static final String ALGORITHM = "SHA-256";
public static String sha256Hex(byte[] bytes){
MessageDigest messageDigest;
String encodeStr = "";
try {
messageDigest = MessageDigest.getInstance(ALGORITHM);
messageDigest.update(bytes);
encodeStr = byte2Hex(messageDigest.digest());
} catch (NoSuchAlgorithmException e) {
log.error("未知的hash算法{}", ALGORITHM);
}
return encodeStr;
}
private static String byte2Hex(byte[] bytes){
StringBuffer stringBuffer = new StringBuffer();
String temp = null;
for (int i=0;i<bytes.length;i++){
temp = Integer.toHexString(bytes[i] & 0xFF);
if (temp.length()==1){
//1得到一位的进行补0操作
stringBuffer.append("0");
}
stringBuffer.append(temp);
}
return stringBuffer.toString();
}
}
08-06
1184
05-20
07-28
1465