JAVA实现MD5加密的例子

来源:互联网 发布:网络共享打印机不打印 编辑:程序博客网 时间:2024/06/06 02:01

AVA实现MD5加密的例子,调用getMD5String方法,双次MD5加密,单次MD5加密

源码下载:http://download.csdn.net/download/qq_22860341/9848573

  1. 单次MD5加密
 public static String makeMD5(String password) {     MessageDigest md;        try {         md = MessageDigest.getInstance("MD5");         md.update(password.getBytes());         String pwd = new BigInteger(1, md.digest()).toString(16);         return pwd;        } catch (Exception e) {         e.printStackTrace();        }        return password;     }

2.双次MD5加密

public static String getMD5String(String str) throws NoSuchAlgorithmException {        byte[] res = str.getBytes();        MessageDigest md = MessageDigest.getInstance("MD5".toUpperCase());        byte[] result = md.digest(res);        for (int i = 0; i < result.length; i++) {            md.update(result[i]);        }        byte[] hash = md.digest();        StringBuffer d = new StringBuffer("");        for (int i = 0; i < hash.length; i++) {            int v = hash[i] & 0xFF;            if (v < 16){                d.append("0");            }            d.append(Integer.toString(v, 16).toUpperCase() + "");        }        return d.toString();    }

3.MD5加码 生成32位md5码

public static String string2MD5(String inStr) throws NoSuchAlgorithmException{            MessageDigest md5 = null;            md5 = MessageDigest.getInstance("MD5");            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 = md5Bytes[i] & 0xff;                if (val < 16)                    hexValue.append("0");                hexValue.append(Integer.toHexString(val));            }            return hexValue.toString();        }

4.加密解密算法 执行一次加密,两次解密

public static String convertMD5(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;        }

5.

        // 测试主函数        public static void main(String args[]) {            String s = new String("tangfuqiang");        System.out.println("原始:" + s);        System.out.println("MD5后:" + string2MD5(s));        System.out.println("加密的:" + convertMD5(s));        System.out.println("解密的:" +         convertMD5(convertMD5(s)));        }
原创粉丝点击