版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java_zhulinghai/article/details/89478669
package com.yxb.base.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.lang.StringUtils;
public class MD5Util {
public MD5Util() {
}
public static final String EncoderByMd5(String strKey) {
char[] md5String = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
byte[] btInput = strKey.getBytes();
MessageDigest mdInst = MessageDigest.getInstance("MD5");
mdInst.update(btInput);
byte[] md = mdInst.digest();
int j = md.length;
char[] str = new char[j * 2];
int k = 0;
for(int i = 0; i < j; ++i) {
byte byte0 = md[i];
str[k++] = md5String[byte0 >>> 4 & 15];
str[k++] = md5String[byte0 & 15];
}
return new String(str);
} catch (Exception var10) {
return null;
}
}
public static String encoderWithSalt(String str, String salt) {
try {
StringBuffer stingBuffer = new StringBuffer();
MessageDigest digest = MessageDigest.getInstance("MD5");
if (StringUtils.isBlank(salt)) {
salt = "";
}
byte[] bs = digest.digest((str + salt).getBytes());
byte[] var5 = bs;
int var6 = bs.length;
for(int var7 = 0; var7 < var6; ++var7) {
byte b = var5[var7];
int i = b & 255;
String hexString = Integer.toHexString(i);
if (hexString.length() < 2) {
hexString = "0" + hexString;
}
stingBuffer.append(hexString);
}
return stingBuffer.toString();
} catch (NoSuchAlgorithmException var11) {
var11.printStackTrace();
return null;
}
}
}