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

目录
相关文章
|
2月前
|
存储 人工智能 算法
【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)
【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)
57 0
|
2月前
|
算法 Java
Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现
Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现
37 0
|
6天前
|
算法 安全 Java
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
【4月更文挑战第28天】性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
20 1
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
|
2月前
|
存储 算法 Java
Java数据结构与算法-java数据结构与算法(二)
Java数据结构与算法-java数据结构与算法
113 1
|
12天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
13天前
|
搜索推荐 算法 Java
Java实现的常用八种排序算法
提到数据结构与算法,无法避免的一点就包含排序,熟练的掌握各种排序算法则是一个程序员必备的素质之一,除此之外,排序算法也是当下各大技术公司比较喜欢问的技术点,所以,就这一点JavaBuild整理了常见的8种排序算法
6 0
|
17天前
|
机器学习/深度学习 数据采集 算法
使用 Java 实现机器学习算法
【4月更文挑战第19天】Java在数据驱动时代为机器学习提供支持,具备丰富的数学和数据结构库,适用于实现线性回归、决策树、SVM和随机森林等算法。实现时注意数据预处理、模型选择、评估指标和可视化。利用Java的库和编程能力可构建高效模型,但需按问题需求选择合适技术和优化方法。
|
27天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出"验证成功",否则输出"验证失败"。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
1月前
|
搜索推荐 Java
Java排序算法
Java排序算法
20 0
|
1月前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
25 4