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

目录
相关文章
|
1月前
|
算法 搜索推荐 Java
数据结构与算法(Java篇)笔记--希尔排序
数据结构与算法(Java篇)笔记--希尔排序
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
23 1
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
22 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
24 0
|
1月前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
23 0
|
22天前
|
存储 算法 Java
Java数据结构与算法-java数据结构与算法(二)
Java数据结构与算法-java数据结构与算法
62 1
|
1月前
|
算法 Java
[Java·算法·中等] LeetCode15. 三数之和
[Java·算法·中等] LeetCode15. 三数之和
30 0
|
16天前
|
搜索推荐 Java
Java排序算法
Java排序算法
18 0
|
16天前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
22 4
|
19天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
32 0