现在的位置: 首页 > 综合 > 正文

JAVA-32位MD5加密算法

2013年03月23日 ⁄ 综合 ⁄ 共 1007字 ⁄ 字号 评论关闭
package sn.len.demo;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
 * 32位MD5加密算法
 * @author <a href="http://www.xmmobiles.com">Mark</a>
 *
 */
public class MD5
{
	public static void main(String[] args)
	{
		System.out.println("admin字符串经过32位MD5加密结果为:"+getMD5Str("admin"));
	}

	private static String getMD5Str(String str)
	{
		MessageDigest messageDigest = null;
		try
		{
			messageDigest = MessageDigest.getInstance("MD5");
			messageDigest.reset();
			messageDigest.update(str.getBytes("UTF-8"));
		} catch (NoSuchAlgorithmException e)
		{
			System.out.println("NoSuchAlgorithmException caught!");
			System.exit(-1);
		} catch (UnsupportedEncodingException e)
		{
			e.printStackTrace();
		}

		byte[] byteArray = messageDigest.digest();

		StringBuffer md5StrBuff = new StringBuffer();

		for (int i = 0; i < byteArray.length; i++)
		{
			if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
				md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
			else
				md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
		}
		return md5StrBuff.toString();
	}
}

抱歉!评论已关闭.