package com.bqzl.qiantaicheapp.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* MD5加密工具类
* @author tanganjun
*
*/
public class MD5Util {
private static Logger log = LoggerFactory.getLogger(MD5Util.class);
/**
* 返回MD5摘要值
* @param data
*/
public static String md5Digest(String data){
// 用于十六进制显示
char hexs[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
StringBuffer hexSb = new StringBuffer("");
try {
// 指定加密的方式为MD5
MessageDigest md = MessageDigest.getInstance("MD5");
//使用平台的默认字符集将此 String 编码为 byte序列
byte[] btInput = data.getBytes();
// 进行加密运算
byte bytes[] = md.digest(btInput);
for (int i = 0; i < bytes.length; i++) {
// 说明:1个byte(1个字节)需要8个二进制位表示,或者2个十六进制位表示,如:0xff
hexSb.append(hexs[bytes[i] >>> 4 & 0xf]);//高4位
hexSb.append(hexs[bytes[i] & 0xf]);//低4位
}
} catch (NoSuchAlgorithmException e) {
log.error("MD5加密错误,data="+data,e);
}
return hexSb.toString();
}
}
MD5加密工具类
最新推荐文章于 2021-10-13 10:31:23 发布