java6本身支持的MD2和MD5的消息摘要算法

大家可以对同一个串进行多次的摘要计算,查看多次摘要算法的值是否相同。

目前java6本身只是支持MD2和MD5的消息摘要实现

应用:这种摘要算法主要用来校验文件是否被获取的准确性。大家到apache的官方下载的文件的时候通常配备一些消息摘要算法进行验证

 

如下是实现的代码:

package com.ca.test;
import java.security.MessageDigest;

/**
 * jdk6本身支持的MD2和MD5的算法实现
 * @author kongqz
 * */
public class MDCoder {
	
	
	/**
	 * MD2的消息摘要算法实现
	 * @param data 要做消息摘要的数据
	 * @return byte[] 消息摘要
	 * 
	 * */
	public static byte[] encodeMD2(byte[] data) throws Exception{
		//初始化MessageDigest
		MessageDigest md=MessageDigest.getInstance("MD2");
		
		return md.digest(data);
	}
	
	/**
	 * MD5的消息摘要算法实现
	 * @param data 要做消息摘要的数据
	 * @return byte[] 消息摘要
	 * 
	 * */
	public static byte[] encodeMD5(byte[] data) throws Exception{
		//初始化MessageDigest
		MessageDigest md=MessageDigest.getInstance("MD5");
		
		return md.digest(data);
	}
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		String str="java 6 的消息摘要算法";
		System.out.println("原文:"+str);
		byte[] data1=MDCoder.encodeMD2(str.getBytes());
		System.out.println("MD2的消息摘要算法值:"+data1.toString());
		
		byte[] data2=MDCoder.encodeMD5(str.getBytes());
		System.out.println("MD5的消息摘要算法值:"+data2.toString());
		
		
	}
}
控制台输出如下:
原文:java 6 的消息摘要算法
MD2的消息摘要算法值:[B@1fb8ee3
MD5的消息摘要算法值:[B@14318bb


你可能感兴趣的:(java6本身支持的MD2和MD5的消息摘要算法)