md5值是什么(md5值有什么用)

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) 。有点晕 , 其实想想就知道了 。
【md5值是什么(md5值有什么用)】第四步 , 四轮循环运算:循环次数为组数(N ^ 1)


    推荐阅读