public class Cropto {
//主函数
public static void main(String args[]) throws NoSuchAlgorithmException{
useMD5();
}
//使用MD5得到信息摘要,抛出一个没有这种算法运算的规则异常
public static void useMD5() throws NoSuchAlgorithmException{
//需要计算摘要的原文
String msg="aaaaabbbbbcccccc";
byte []date =msg.getBytes();
//取得MD5摘要对象
java.security.MessageDigest md5A=MessageDigest.getInstance("MD5");
md5A.update(date);//用MD5处理原文
//得到信息摘要
byte []secdate=md5A.digest();
System.out.println("A方摘要"+new String(secdate));
//A------>B(原文+摘要)
//B利用原文生成摘要,与A发送过来的摘要进行对比
java.security.MessageDigest md5B=MessageDigest.getInstance("MD5");
md5B.update(date);
byte []destdate=md5B.digest();
System.out.println("B方摘要"+new String(destdate));
//比较两个数组
if(java.util.Arrays.equals(secdate, destdate)){
System.out.println("摘要相同");
}else{
System.out.println("摘要不相同");
}
}
}
分享到:
相关推荐
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
java版 MD5 信息摘要算法 它的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。
C语言实现的MD5信息摘要算法源码,通常包括以下几个关键部分: 1. **初始化函数**:MD5算法开始时,会初始化四个32位的变量,A、B、C和D,以及一个64字节的缓冲区。这些变量的初始值是预定义的常量,用于后续的计算...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换成固定长度的128位(16字节)摘要值。这个摘要值具有不可逆性,即无法从摘要恢复原始数据,因此常用于数据完整性校验和...
c++编写的面向对象的MD5信息摘要源代码,包括类头文件和函数定义cpp文件
MD5主要是通过特定的hash散列方法将文本信息转换成简短的信息摘要,用以验证信息的完整性。一般用于数字签名。 用Java实现的一个例子。
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
在标签中提到的"MD5信息摘要计算工具",这里的“信息摘要”是指通过MD5算法得到的文件的特征表示,它能反映文件的原始内容,但无法还原出原始数据,因为MD5是不可逆的。计算MD5的过程通常包括读取文件内容,逐块处理...
MD5即Message-Digest Algorithm 5(信息-摘要算法 5)...唯一的MD5信息摘要。 MD5用的是哈希函数,在计算机网络中应用较多的不可逆加密算法有RSA公司发明的MD5算法和由美国国家技术标准研究所建议的 安全散列算法SHA。
为了创建一个完整的MD5类或函数,你需要提供一个接口,允许用户传递任意长度的字节流,并返回计算出的MD5摘要。这个接口可能包括`Update`方法用于添加数据,`Finalize`方法用于完成计算并返回摘要,以及可能的`Reset...
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
MD5(Message-Digest Algorithm 5)是一种广泛用于信息安全领域的哈希函数,它能将任意长度的数据转换为固定长度的输出,通常是32位的16进制字符串。在Java中,我们可以使用`java.security.MessageDigest`类来实现MD...
此文本文档是MD5信息摘要算法的描述文档(英文),描述了MD5摘要算法的具体实现,并提供了C语言参考代码,此文件是本人为防止原链接失效而作的备份,如不想消耗积分,请查看此文档的原链接...
它的全称“Message-Digest Algorithm 5”表明它是一个信息摘要算法,旨在将任意长度的数据转化为固定长度的摘要输出,通常是128位,通常以32位的十六进制数表示,即一个32字符的字符串。这个过程被称为哈希化,它...
MD5引入了更复杂的运算和额外的轮数,使得攻击者更难以找到两个不同的输入数据,它们会产生相同的MD5摘要,即减少碰撞的可能性。 然而,尽管MD5在设计时被认为是安全的,随着时间的推移,其安全性受到了严重质疑。...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换为固定长度的128位(16字节)摘要,这个摘要可以视为输入数据的一种指纹。MD5算法的设计目的是确保即使是最小的输入...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的信息映射为固定长度的摘要值。在Java中,MD5主要用于数据的完整性校验和密码存储,因为其不可逆性,即使原始数据被篡改,通过MD5...
MD5的主要用途是用于数据完整性校验和信息摘要,确保数据在传输或存储过程中未被篡改。 MD5的工作原理基于密码学中的散列函数概念。它通过一系列的数学运算,包括位操作、异或、循环左移等,将输入信息转化为不可逆...
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。它的应用场景包括:用户注册时确认密码...