MD5的使用

首先是我的源代码


/***
* MD5加码 生成32位md5码
*/
public static String backMD5(String inStr){

    MessageDigest md5 = null;

    try{

        md5 = MessageDigest.getInstance("MD5");

    }catch (Exception e){

    System.out.println(e.toString());
    e.printStackTrace();

    return "";
}

    char[] charArray = inStr.toCharArray();
    byte[] byteArray = new byte[charArray.length];

    for (int i = 0; i < charArray.length; i++)
        byteArray[i] = (byte) charArray[i];

    byte[] md5Bytes = md5.digest(byteArray);
    StringBuffer hexValue = new StringBuffer();

    for (int i = 0; i < md5Bytes.length; i++){

        int val = ((int) md5Bytes[i]) & 0xff;
        if (val < 16)
            hexValue.append("0");
            hexValue.append(Integer.toHexString(val));
    }

    return hexValue.toString();

}

/**
* 加密解密算法 执行一次加密,两次解密
*/
public static String DecryptMD5(String inStr){

    char[] a = inStr.toCharArray();
    for (int i = 0; i < a.length; i++){

        a[i] = (char) (a[i] ^ 't');
    }
    String s = new String(a);

    return s;

}

// 测试主函数
public static void main(String args[]) {

    //可以在这里设置自己的数据
    List<String> list=new ArrayList<String>();

    list.add("liuhao");
    list.add("liu hao");

    for (int i = 0; i < list.size(); i++) {

        System.out.println("原始:" + list.get(i));
        System.out.println("MD5后:" + backMD5(list.get(i)));
        System.out.println("加密的:" + DecryptMD5(list.get(i)));
        System.out.println("解密的:" + DecryptMD5(DecryptMD5(list.get(i))));
}


}

输出的结果为

好啦..就是这么的简单

原文地址:https://www.cnblogs.com/hhao/p/6601684.html