最近写东西,用到了需要对密码加密功能,就学习了md5加密算法,对于md5的加密原理,我在这就不在多说了,网上多的是,在这我只提供一个简单的md5实用工具类,具体代码如下:
package com.clint.util;
import java.security.MessageDigest;
/**
* 数据工具类
*/
public class DataUtil {
/**
* 采用md5加密
*/
public static String md5(String src){
try {
StringBuffer buffer = new StringBuffer();
char[] chars= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] data = md.digest(src.getBytes());
for(byte b : data){
//高4位 左移四位
buffer.append(chars[(b >> 4) & 0x0F]);
//低4位 与0相与,这点涉及到一点其他知识。。。
buffer.append(chars[b & 0x0F]);
}
return buffer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null ;
}
}
把代码放到一个工具包,需要时直接调用此类的此方法就行了。
此代码参考徐培成老师,转载请注明出处。