工具类总结---(三)---MD5加密

  

     用于给文件名等进行MD5加密:

 

  

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * MD5
 */
public class MD5Util {

    public static char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

    public static String md5(String s) {
        try {
            MessageDigest messagedigest = MessageDigest.getInstance("MD5");
            messagedigest.update(s.getBytes());
            byte[] digestByte = messagedigest.digest();
            return bufferToHex(digestByte, 0, digestByte.length);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }
    }

    private static String bufferToHex(byte bytes[], int m, int n) {
        StringBuffer stringbuffer = new StringBuffer(2 * n);
        int k = m + n;
        for ( int  l = m; l < k; l++) {
            appendHexPair(bytes[l], stringbuffer);
        }
        return stringbuffer.toString();
    }

    private static void appendHexPair(byte bt, StringBuffer stringbuffer) {
        char c0 = hexDigits[(bt &  0xf0 ) >>  4 ];
        char c1 = hexDigits[bt &  0xf ];
        stringbuffer.append(c0);
        stringbuffer.append(c1);
    }
}

 

 

posted @ 2016-05-03 10:00  北宫风晨  阅读(190)  评论(0编辑  收藏  举报