MD5校验码

本文详细介绍了MD5哈希函数,包括其不可逆性、雪崩效应和快速计算特点,以及在密码保护和数据完整性校验中的应用。同时提到了SHA-1、SHA-2、SHA-3和BLAKE2等后续安全算法作为MD5的替代选择。
摘要由CSDN通过智能技术生成

MD5(Message-Digest Algorithm 5)是一种常用的哈希函数算法,用于将任意长度的数据映射为固定长度的哈希值。它通常用于数据完整性验证、密码加密等领域

MD5的特点

不可逆性:通过 MD5 算法生成的哈希值是一种紧凑的表示形式,无法直接逆推回原始数据。这使得 MD5 在密码学中被广泛应用,因为即使他人获取到哈希值,也难以还原出原始数据。

雪崩效应:即使原始数据发生微小的变化,MD5 哈希值也会产生很大的差异。这一特性使得 MD5 可以用于检测数据是否被篡改,确保数据的完整性。

快速计算:MD5 算法相对计算速度较快,在处理大量数据时效率较高。

MD5的使用场景

  1. 密码保护
  2. 完整性校验
  3. 数字签名
  4. 云盘秒传

MD5的格式

8efa61d98454af8cf42711e6ae4c2f6a     # 128位比特也就是16字节

##  长度固定

##  不可逆(从结果无法反推原始数据)

## 高度离散型 (md5的数据没有任何规律)

## 抗碰撞性

MD5的生成过程

补位

1. 使长度变成n*512+448

情况一:

当数据的长度不满足n*412+448时进行补位,补1个1然后多个0,时期长度满足n*412+448

情况二:

当数据的长度满足n*412+448时也必须进行一次补位,同业也是补1个1多个0,使长度满足(n+1)*412+448

2. 使长度变成n*512的整数倍

再补上64位,也就是文件的大小记录在这最后的64位数据里面

标准幻数

标准幻数是4*4=16个字节

A=01234567

B=89ABCDEF

C=FEDCBA98

D=76543210

在程序中使用的小端字节数

A=0x67542301 

B=0xEFCDAB89

C=0X98BADCFE

D=0X10325476

函数

FF=(A,B,C,D,X,S,AC)

GG=(A,B,C,D,X,S,AC)

HH=(A,B,C,D,X,S,AC)

II=(A,B,C,D,X,S,AC)

##  X使下图中的4字节数据

##  AC是一些标准的常数

#define F(x,y,z)(((x)&(y))|((~x)&(z)))
#define G(x,y,z)(((x)&(z))|((y)&(~z)))
#define H(x,y,z)((x)^(y)^(z))
#define I(x,y,z)((y)^((x)|(~z)))
        
#define ROTATELEFT(num,n)(((num)<<(n))|((num)>>(32-(n))))

#define FF(a,b,c,d,x,s,ac){\
    (a) += F((b),(c),(d))+(x)+ac;\
    (a) += ROTATELEFT((a),(s));\
    (a) += (b);\
}

#define GG(a,b,c,d,x,s,ac){\
    (a) += G((b),(c),(d))+(x)+ac;\
    (a) += ROTATELEFT((a),(s));\
    (a) += (b);\
}

#define HH(a,b,c,d,x,s,ac){\
    (a) += H((b),(c),(d))+(x)+ac;\
    (a) += ROTATELEFT((a),(s));\
    (a) += (b);\
}

#define II(a,b,c,d,x,s,ac){\
    (a) += I((b),(c),(d))+(x)+ac;\
    (a) += ROTATELEFT((a),(s));\
    (a) += (b);\
}

扩展

  1. SHA-1(Secure Hash Algorithm-1):与 MD5 类似,但比 MD5 更安全。然而,SHA-1 也已被证明存在一些安全风险,现在通常不推荐使用。
  2. SHA-2 系列:包括 SHA-256、SHA-384 和 SHA-512 等。这些算法比 SHA-1 更安全,并且在现代密码学和数据完整性验证中得到广泛应用。
  3. SHA-3:作为 SHA-2 系列的后继者,SHA-3 是一种较新的哈希函数算法,具有更高的安全性和性能。
  4. BLAKE2 系列:BLAKE2b 和 BLAKE2s 是相对较新的哈希函数,提供了快速的计算速度和良好的安全性。
  5. SM3:这是中国国家标准的哈希函数算法,用于国内的信息安全领域。

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值