package com.xiucaike.common; import java.security.MessageDigest; public final class MD5 { private final static String[] hexDigits = { '0', '1', '2', '3', '4', ' ..

原生 MD5 密码代码

本贴最后更新于 2466 天前,其中的信息可能已经时异事殊
package com.xiucaike.common;

import java.security.MessageDigest;

public final class MD5
{
	private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
			"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

	/**
	 * 转换字节数组为16进制字串
	 * 
	 * @param b
	 *            字节数组
	 * 
	 * @return 16进制字串
	 */

	public static String byteArrayToHexString(byte[] b)
	{
		StringBuffer resultSb = new StringBuffer();
		for (int i = 0; i < b.length; i++)
		{
			resultSb.append(byteToHexString(b[i]));
		}
		return resultSb.toString();
	}

	private static String byteToHexString(byte b)
	{
		int n = b;
		if (n < 0)
			n = 256 + n;
		int d1 = n / 16;
		int d2 = n % 16;
		return hexDigits[d1] + hexDigits[d2];
	}

	public static String encode(String origin)
	{
		String resultString = null;

		try
		{
			resultString = new String(origin);
			MessageDigest md = MessageDigest.getInstance("MD5");
			resultString = byteArrayToHexString(md.digest(resultString
					.getBytes()));
		} 
		catch (Exception ex)
		{

		}
		return resultString;
	}
	
	public static String encode(String origin,String charset)
	{
		String resultString = null;

		try
		{
			resultString = new String(origin);
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.update(origin.getBytes(charset));
			resultString = byteArrayToHexString(md.digest(resultString
					.getBytes()));
		} 
		catch (Exception ex)
		{

		}
		return resultString;
	}
	
	
}

  • MD5
    2 引用 • 11 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2295 引用 • 7752 回帖 • 907 关注
回帖   
请输入回帖内容...