今天看腾讯在北航的演讲《1亿在线背后的技术挑战》想到的关于MD5算法
看2011年10月31日腾讯即通平台部高级总监庄泗华在北京航空航天大学的演讲《1亿在线背后的技术挑战》。里面说到,以前版本的QQ登陆密码在向服务器传送时是先经过两次MD5加密。就想整明白MD5是怎么回事,学《网络安全》时讲的各种加密算法早忘了,就去网上查了下。
一句话:MD5(信息摘要算法)可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”。
自己做了如下尝试:
(1)对一个word文件“例子.doc”右键查看其属性,点“文件校验”选项卡,里面有自动生成的该文件的MD5哈希值。如图:
(2)复制该word文件并改名为“例子_附件.doc”,然后对比着两个文件的MD5哈希值,结果完全相同。
(3)将“例子_附件.doc”改名为“例子_附件.docx”(即改变扩展名),然后对比两个文件的MD5哈希值,结果不同。
(4)将“例子_附件.docx”的扩展名改回.doc,然后在“例子_附件.doc”文件中添加一个空格,然后再对比两个文件的MD5哈希值,结果不同。
结论:
- (1)文件名(不包括扩展名)只是标识文件的一个符号,与文件内容无关。
- (2)MD5等信息摘要算法生成的哈希值来自除文件名(指基本名)外的一切文件信息,任何地方的一处改动都会导致MD5哈希值的改变。
- (3)因此MD5算法多用于对文件进行唯一性校验以防止篡改。
比如现在流行的网络硬盘,它在存储用户上传的文件时会生成每个文件的哈希值,这样一方面可以验证文件完整性,另一方面可以实现非重复存储和秒速上传。因为网盘的服务器对哈希值相同的文件只存储一份(即使文件名不同),所以如果已有用户已上传过某文件,其他用户再上传该文件时就可实现妙速上传。
2017.7.15:整理之前笔记时有感,这篇文章写于2012年4月份北航研究生复试通过后,回到学校后(记得应该是复试完后又回学校了)在北航官网上浏览新闻,看到这篇报道,研究了下MD5。印象很深刻,因为当时的心情真的是非常轻松惬意,研究生复试通过了,人生向前迈进了很大一步,之后这么多年,貌似极少有当时这种心情了。
上一篇 最近琢磨出了个测试数据的小技巧
下一篇 日语五十音图速记法
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: