美文网首页
什么是md5算法?

什么是md5算法?

作者: TOMORROW简书 | 来源:发表于2018-06-03 14:14 被阅读0次

原文:什么是md5算法

本文将通过漫画的形式来通俗易懂的讲述什么是MD5加密算法(Message Digest AlgorithmMD5(中文名为消息摘要算法第五版)),MD5加密算法的底层原理以及MD5加密算法的破解算法方法。

摘要哈希生成的正确姿势是什么样呢?分三步:

1.收集相关业务参数,在这里是金额和目标账户。当然,实际应用中的参数肯定比这多得多,这里只是做了简化。

2.按照规则,把参数名和参数值拼接成一个字符串,同时把给定的密钥也拼接起来。之所以需要密钥,是因为攻击者也可能获知拼接规则。

3.利用 MD5 算法,从原文生成哈希值。MD5 生成的哈希值是 128 位的二进制数,也就是 32 位的十六进制数。

第三方支付平台如何验证请求的签名?同样分三步:

1.发送方和请求方约定相同的字符串拼接规则,约定相同的密钥。 

2.第三方平台接到支付请求,按规则拼接业务参数和密钥,利用 MD5 算法生成 Sign。 

3.用第三方平台自己生成的 Sign 和请求发送过来的 Sign 做对比,如果两个 Sign 值一模一样,则签名无误,如果两个 Sign 值不同,则信息做了篡改。这个过程叫做验签。

[image]

[image]

[image]

MD5 算法底层原理:  

 [image]

简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果。   

第一步:处理原文  

首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 448,就需要填充原文使得原文对 512 求余的结果等于 448。填充的方法是第一位填充 1,其余位填充 0。填充完后,信息的长度就是 512*N+448。  

之后,用剩余的位置(512-448=64 位)记录原文的真正长度,把长度的二进制值补在最后。这样处理后的信息长度就是 512*(N+1)。  

第二步:设置初始值  

MD5 的哈希结果长度为 128 位,按每 32 位分成一组共 4 组。这 4 组结果是由 4 个初始值 A、B、C、D 经过不断演变得到。MD5 的官方实现中,A、B、C、D 的初始值如下(16 进制):  

TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用 BY-NC-SA 协议进行授权

转载请注明原文链接:【转载】漫画趣解 MD5 算法

相关文章

  • 第一篇、MD5算法和SHA-1算法

    目录一、MD5算法 1、MD5算法是什么? 2、MD5算法的优点 3、MD5算法的不足 4、MD5加密的应用场景 ...

  • 什么是md5算法?

    原文:什么是md5算法 本文将通过漫画的形式来通俗易懂的讲述什么是MD5加密算法(Message Digest A...

  • MD5算法介绍以及在Android中的实现

    什么是MD5? 基本概念 MD5,Message Digest Algorithm MD5(消息摘要算法第五版)是...

  • MD5网络使用

    1. MD5 1.1 什么是MD5 全称是Message Digest Algorithm 5,译为“消息摘要算法...

  • MD5(MD5 消息摘要算法)

    MD5(MD5 消息摘要算法) MD5 简介 MD5 消息摘要算法(MD5 Message-Digest Algo...

  • iOS中DES与MD5加密方案

    MD5算法和DES算法是常见的两种加密算法。 MD5: MD5是一种不可逆的加密算法,按我的理解,所谓不可逆,就是...

  • 什么是MD5

    MD5 什么是MD5 全称是Message Digest Algorithm 5,译为“消息摘要算法第5版” 效果...

  • Linux下使用md5sum进行检验

    什么是md5? MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输...

  • md5加密算法

    md5算法简介 md5(message digent algorithm 5 信息摘要算法)算法是一种单向散列算...

  • hashlib,logging模块

    hashlib hashlib是提供摘要算法的模块,包括MD5,SHA等算法。md5加密算法是单方向的,不可逆。 ...

网友评论

      本文标题:什么是md5算法?

      本文链接:https://www.haomeiwen.com/subject/kmejsftx.html