MD5 加密工具类(自己实现和apache实现)

/**  
 * @Title: MD5Util.java 
 * @Package com.lanyoung.ewaiter.service 
 * @Description: TODO 
 * @author liudw [email protected]  
 * @date 2014-3-17 下午02:36:28 
 * @version V1.0  
 */
package com.lanyoung.ewaiter.service;

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

//import org.apache.commons.codec.digest.DigestUtils;

/**
 * @author liudw
 * 
 */
public class MD5Util {
	public static void main(String[] args) {
		System.out.println(MD5Util.MD5("ldw4033"));//result: cd8294a7bd4869675d9c2f873739cc1f
		//System.out.println(DigestUtils.md5Hex("ldw4033"));//result:cd8294a7bd4869675d9c2f873739cc1f

		
	}
	public static String MD5(String plainText) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.update(plainText.getBytes());
			byte b[] = md.digest();
			int i;
			StringBuffer 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));
			}
			return buf.toString();
			//System.out.println("result: " + buf.toString());// 32位的加密
			//System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
			return null;
		}
	}
}


其实Apache commons已经有所封装了(下载地址),调用静态方法就搞定DigestUtils.md5Hex(“”)

你可能感兴趣的:(web)