JAVA中MD5算法实现函数

package test;

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

public class MD5 {

	private static String md5(String input) {
		if ((input == null) || (input.length() == 0)) {
			return "D41D8CD98F00B204E9800998ECF8427E"; // 这个值是为了兼容C语言的DLL
														// MD5值而存在
		} else {
			StringBuffer sb = new StringBuffer();
			try {
				MessageDigest algorithm = MessageDigest.getInstance("MD5");
				algorithm.reset();
				algorithm.update(input.getBytes());
				byte[] md5 = algorithm.digest();
				String singleByteHex = "";
				for (int i = 0; i < md5.length; i++) {
					singleByteHex = Integer.toHexString(0xFF & md5[i]);
					if (singleByteHex.length() == 1) {
						sb.append("0");
					}
					sb.append(singleByteHex.toUpperCase());
				}
			} catch (NoSuchAlgorithmException ex) {
				ex.printStackTrace();
			}
			return sb.toString();
		}
	}

	public static void main(String[] args) {
		System.out.println(md5("1234"));
		System.out.println(md5("12345"));
	}
}


输出结果:
81DC9BDB52D04DC20036DBD8313ED055
827CCB0EEA8A706C4C34A16891F84E7B


ref:http://blog.csdn.net/jackxinxu2100/article/details/6160600

你可能感兴趣的:(MD5)