MD5Util
package com.jf.utils; import java.security.MessageDigest; /** * MD5加密工具类 */ public abstract class MD5Utils { // 16进制的字符数组 private final static String[] strDigits ={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; private static String byteToArrayString(byte bByte){ int iRet=bByte; if(iRet<0) iRet+=256; int iD1=iRet/16; int iD2=iRet%16; return strDigits[iD1]+strDigits[iD2]; } //转换字符数组为16进制字符串 private static String byteToString(byte[] bByte){ StringBuffer sBuffer=new StringBuffer(); for (int i = 0; i < bByte.length; i++) sBuffer.append(byteToArrayString(bByte[i])); return sBuffer.toString(); } public static String getMD5code(String strObj){ String resultString =null; try { resultString=new String(strObj); //信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。 MessageDigest md= MessageDigest.getInstance("MD5"); //使用平台的默认字符集将此 String 编码为 byte序列,并将结果存储到一个新的 byte数组中 resultString=byteToString(md.digest(strObj.getBytes())); } catch (Exception e) { e.printStackTrace(); return null; } return resultString; } public static void main(String[] args) { System.out.println(getMD5code("123456")); } }