使用MD5加密密码工具类

public class PasswordUtil {  
    private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",  
            "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };  
  
    /** 
     * 转换字节数组为16进制字串 
     *  
     * @param b 
     *            字节数组 
     * @return 16进制字串 
     */  
    public static String byteArrayToHexString(byte[] b) {  
        StringBuffer resultSb = new StringBuffer();  
        for (int i = 0; i < b.length; i++) {  
            resultSb.append(byteToHexString(b[i]));  
        }  
        return resultSb.toString();  
    }  
  
    private static String byteToHexString(byte b) {  
        int n = b;  
        if (n < 0)  
            n = 256 + n;  
        int d1 = n / 16;  
        int d2 = n % 16;  
        return hexDigits[d1] + hexDigits[d2];  
    }  
  
    public static String MD5Encode(String origin) {  
        String resultString = null;  
        try {  
            resultString = new String(origin);  
            MessageDigest md = MessageDigest.getInstance("MD5");  
            resultString = byteArrayToHexString(md.digest(resultString  
                    .getBytes()));  
        } catch (Exception ex) {  
        }  
        return resultString;  
    }  
  
    public static void main(String[] args) {  
        System.err.println(MD5Encode("123456"));  
    }  
}  
123456密码加密后输出的是:e10adc3949ba59abbe56e057f20f883e

猜你喜欢

转载自blog.csdn.net/Hero_QHZ/article/details/78295151