MD5(单向哈希算法)的全称是Message-Digest Algorithm 5,由MD2、MD3和MD4发展而来。使用MD5算法不需要支付任何版权费用。
MD5函数::
输入任意长度的信息,处理后输出128位的信息(数字指纹);
不同的输入得到不同的结果(唯一性);
根据128位输出结果,无法推导出输入信息(不可逆);
MD5不是加密算法。MD5不是加密算法:
不属于它的人是因为觉得无法从密文(哈希值)中依次得到原文,也就是没有解密计算。
方法,所以这部分人认为MD5只能属于算法,不能称为加密算法;
认为自己属于它的人是因为觉得MD5处理后看不到原文,也就是加密了原文,所以认为,
MD5属于加密算法;我个人支持后者。
MD5使用使用::
1.防止篡改,防止篡改,防止篡改:
1)例如,发送电子文档。在发送之前,我先得到MD5的输出结果A。然后在对方那里收电。
文件后,对方也得到一个MD5的输出结果B。如果A和B一样,说明中间没有被篡改。2)
比如我提供文件下载。为了防止不法分子在安装程序中添加木马,我可以在网站上公布。
通过加载文件获得的MD5输出结果。3)SVN用于检查文件在签出后是否被修改。
是MD5。
2.防止直接读取明文防止直接读取明文防止直接读取明文:
现在很多网站在数据库存储用户密码时,都会存储MD5值。即使事实并非如此
分子可以得到数据库的用户密码的MD5值,不能知道用户密码(其实这是不安全的,后
我会提到)。(比如在UNIX系统中,用户的密码是用MD5(或者其他类似的算法)加密的。
然后存储在文件系统中。当用户登录时,系统将用户输入的密码计算为MD5值,然后
将其与文件系统中存储的MD5值进行比较,然后确定输入的密码是否正确。通过这样一个步骤
突然,系统可以在不知道用户密码明码的情况下,确定用户登录系统的合法性。这不仅可以
为了防止具有系统管理员权限的用户知道用户的密码,它仍然在
一定程度上增加了密码破解的难度。)
3.防止否认,防止否认,防止否认((数字签名):):
这就需要第三方认证机构了。比如A写了一个文档,认证机构用MD5算法生成了这个文档。
汇总信息并做好记录。以后如果A说这个文档不是他写的,权限只需要重新生成这个文档的摘要信息,然后和记录的摘要信息进行比对。如果是一样的,就证明是A写的。这就是所谓的“数字签名”。
MD5算法流程算法流程:
MD5算法的简单描述可以是:MD5处理512位数据包中的输入信息,每个数据包
它被分成16个32位的子包。经过一系列处理后,算法的输出由四个32位数据包组成。将这四个32位数据包串联起来后,将生成一个128位的哈希值。
步骤1,填充:如果输入信息的长度(比特)与512的互补结果不等于448,则需要填充。
补数512的结果等于448。填充方法是填一个1和n0。填充后,信息的长度
是n * 512 448(位);
第二步:记录信息长度:用64位存储填充前的信息长度。这64位在之一步的结果之后相加,因此信息长度变成N * 512 448 64 =(N-1)* 512位。
第三步。加载标准幻数(四个整数):标准幻数(物理顺序)为(A=(01234567) 16,B=(89ABCDEF) 16,C=(FEDCBA98) 16,D=(76543210) 16)。如果在程序中定义的话,应该是(A=0X67452301L,b = 0xefcdb89l,c = 0x98bdcfel,D=0X10325476L)。有点晕,其实想想就知道了。
第四步,四轮循环运算:循环次数为组数(N ^ 1)
本文地址:IT知识频道 https://www.eeeoo.cn/itzhishi/935273.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!