为什么80%的码农都做不了架构师?>>>
大家可以对同一个串进行多次的摘要计算,查看多次摘要算法的值是否相同。
目前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{//初始化MessageDigestMessageDigest md=MessageDigest.getInstance("MD2");return md.digest(data);}/*** MD5的消息摘要算法实现* @param data 要做消息摘要的数据* @return byte[] 消息摘要* * */public static byte[] encodeMD5(byte[] data) throws Exception{//初始化MessageDigestMessageDigest 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