md5是安全的加密算法吗_怎么进行md5校验「建议收藏」

md5是安全的加密算法吗_怎么进行md5校验「建议收藏」版权归其所有论文作者所有

md5是安全的加密算法吗_怎么进行md5校验「建议收藏」

版权归其所有论文作者所有。

并没写原始的地址,因为这是我整合的,作者太多,包括我。太匆忙,原作者可以联系我。

简介

MD5适用于数据完整性校验的。将任意长度的字节串(所以是基于底层的二进制串的),映射成为一个128位的大整数2^128种可能性。同样的内容经过md5,会得到同样的128位码。本质上是散列算法,有损的信息压缩,并且是不可逆的。

MD5广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。

 

一个安全的散列算法具有如下特点:

 

(1)仅从散列值无法反推出原信息;

 

(2)两个不同数字信息产生同样的散列值的概率是非常小的,几乎为零;

 

(3)原信息的微小改变(哪怕只改变一位),将导致散列值的很大变化。

 

线性同余随机数服从均匀分布

2 实现步骤

2.1 填充

在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余数的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后再在这个结果后面附加一个以64位二进制表示的填充前的信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍数。这样做的原因是为满足后面处理中对信息长度的要求。

 

 

2.2 设置链接变量

MD5中有四个32位被称作链接变量(ChainingVariable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。当设置好这四个链接变量后,就开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目。

 

2.3 进行主循环

 

接着进行算法的主循环,循环的次数是消息中512位消息分组的数目。

 

将上面四个变量复制到别外的变量中:A到a,B到b,C到c,D到d。

今天的文章md5是安全的加密算法吗_怎么进行md5校验「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82232.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注