md5得到16或32位十六进制

来源:互联网 发布:网络销售红酒技巧 编辑:程序博客网 时间:2024/05/22 02:29
public static String 32Md5(String text) {    StringBuffer buf = null;    try {        MessageDigest md = MessageDigest.getInstance("MD5");        md.update(text.getBytes());        byte b[] = md.digest();        int i;        buf = new StringBuffer("");        for (int offset = 0; offset < b.length; offset++) {            i = b[offset];            if(i<0) i+= 256;            if(i<16)                buf.append("0");            buf.append(Integer.toHexString(i));        }    } catch (NoSuchAlgorithmException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return buf.toString();}
public static String 16Md5(String text) {    StringBuffer buf = null;    try {        MessageDigest md = MessageDigest.getInstance("MD5");        md.update(text.getBytes());        byte b[] = md.digest();        int i;        buf = new StringBuffer("");        for (int offset = 0; offset < b.length; offset++) {            i = b[offset];            if(i<0) i+= 256;            if(i<16)                buf.append("0");            buf.append(Integer.toHexString(i));        }    } catch (NoSuchAlgorithmException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return buf.toString().substring(8,24);
}

0 0
原创粉丝点击