digestimpl.java

来自「这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用s」· Java 代码 · 共 52 行

JAVA
52
字号
/*
 * Created on 2004-5-11
 *
 */
package com.esimple.service.crypto.digest;

import java.security.MessageDigest;

import com.esimple.service.crypto.util.BASE64Util;
/**
 * @author steven
 *
 */
public class DigestImpl {
	public static final String DEFAULT_ALGORITHM = "MD5";
	public static final String DEFAULT_CHARSET = "UTF8";

	public static String generateDigest(String password, String algorithm) {
		if (algorithm == null)
			algorithm = DEFAULT_ALGORITHM;
		try {
			MessageDigest md = MessageDigest.getInstance(algorithm);
			md.update(password.getBytes( DEFAULT_CHARSET ));
			byte digest[] = md.digest();
			return BASE64Util.encode(digest);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public static  boolean verifyDigest(
		String password,
		String digested,
		String algorithm) {
		if (algorithm == null) algorithm = DEFAULT_ALGORITHM;
		try {

			byte signedData[] = password.getBytes( DEFAULT_CHARSET );
			MessageDigest md = MessageDigest.getInstance(algorithm);
			md.update(signedData);
			byte digest[] = md.digest();
			return MessageDigest.isEqual(
				digest,
				BASE64Util.decodeBuffer(digested));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?