MD5消息数字协议(MD5消息数字协议)广泛用于生成散列值(hash value ) (128位),以确保信息传输的完全一致性MD5由美国密码学家陶醉的Ronald Linn Rivest设计,于1992年公开,取代了MD4算法。
概要
MD5校验码用散列函数计算,并且可以生成任何数据的数据“指纹”。 即,可以利用MD5将消息和数据压缩为摘要。 是的,数据量减少,容易比较验证数据的完整性和正确性。 由于两个不同的文件很少具有相同的MD5散列值,因此对一个文件进行无恶意更改会更改MD5散列值。 因此,MD5散列公共语言会检查文件的完整性,特别是检测文件传输、磁盘错误或其他情况下文件的正确性。
MD5
Python利用内置模块hashlib完成MD5的实现和使用。
` ` ` python
import hashlib
m=hashlib.md5 ()
假设文件内容
src='I like Python 'm.update(src.encode ) (utf-8 ) ) )
打印(m.hex digest ) )
样本结果:
17008 b 7417701 b0c 233 b 999 d 20 c 13 f1 d
###文件验证
如果有两个现有文件,则必须验证这两个文件是否相同
python
import hashlib
efout_MD5(src ) :
#简单封装
m=hashlib.md5 ()
m.update(src.encode ) (utf-8 ) ) )
return m.hexdigest (
withopen(1.txt )、(r ) ) as f:
src=f.read ()
m1=out_MD5(src ) ) )
打印(m1 )。
withopen(2.txt )、(r ) ) as f:
src=f.read ()
m2=out_MD5(src ) ) )
是打印(m2 )
if m1==m2:
是打印(真)
else:
是打印(假)
样本结果:
b0C1 b 519 a 0a2b8E6 c 74703 e 44538 c 60
43cb 091 db 43 a710 d 85 ce 45f b 202438 CD
假的
``````