1. MD5介绍
信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。(更多MD5信息,请自己百度。)
如 MD5 或 SHA 算法。
2. MD5测试
有三个个文件1.txt、2.txt和3.txt,
a) 1.txt的内容:123
b) 2.txt的内容:123
c) 3.txt的内容:1234
测试1:测试同一个文件两次MD5值是否一致(选用文件1.txt)
测试结果:两侧测得的结果一致,都为:202cb962ac59075b964b07152d234b70
测试2:测试不同文件但是文件内容一致(选用文件1.txt和2.txt)
测试结果:两个文件的MD5值一样。都为:
81dc9bdb52d04dc20036dbd8313ed055
测试3:测试不用文件同时文件名和内容都不一致(选用文件2.txt和3.txt)
测试结果:两个文件的MD5值不一致:分别为:
2.txt是202cb962ac59075b964b07152d234b70
3.txt 是81dc9bdb52d04dc20036dbd8313ed055
经过以上测试:任何文件都一个唯一的MD5值。他与文件名无关。(至于七个格式的文件请自行
测试)
用途:加密,校验文件是否被修改,等等。
百度云盘的 -极速妙传原理就是类似比较MD5值,来判断你上传的文件在百度云服务器上是否存在的。可能就是采用MD5值。
它在上传文件之前首先算出该文件的MD5值,然后在后台查询是否存在该MD5值,如果存在,则表示服务器上已经有了该文件。所以用户就不需要再次上传了,只需要把该文件的一个引用 添加到你的网盘就行了。
以上仅仅是一些猜想。一种可以实现的方式。当然可能还有其他方式也能实现。
闲暇时 看到百度的极速妙传,于是就分析了他大概原理。当然后 由于时间原因。这次没有详细分析前台代码。下次有时间继续。