ND5 加密

/**
 * java.security包中的MessageDigest类提供了计算消息摘要的方法, 首先生成对象,执行其update( )方法可 
	以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。
 */
package org.cric.util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
 * MD5加密
 * @author Administrator
 *
 */

public class DigestPass {
	private MessageDigest messageDigest;
	private String result = "";
	private byte[] args = null;
	public String getDigestPassWord(String userpass) {
		try {
			// 生成MessageDigest对象,传入所用算法的参数(MD5)
			messageDigest = MessageDigest.getInstance("MD5");
			// 使用 getBytes( )方法生成字符串数组
			messageDigest.update(userpass.getBytes("GBK"));
			// 执行MessageDigest对象的digest( )方法完成计算,计算的结果通过字节类型的数组返回
			args = messageDigest.digest();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
			throw new RuntimeException();
		} catch (UnsupportedEncodingException ee) {
			ee.printStackTrace();
			throw new RuntimeException();
		} finally {
			messageDigest.reset();
		}

		// 将结果转换成字符串
		result = "";// result清空,否则它会自动累加!!!
		for (int i = 0; i < args.length; i++) {
			result += Integer.toHexString((0x000000ff & args[i]) | 0xffffff00)
					.substring(6);
		}
		return result;
	}

}
 

你可能感兴趣的:(java,算法,Security)