【主体】
hash编码也叫sha1编码,为40位编码
由来:之前的md5编码为32位编码,在部分网站上已经可逆了。所以安全性上有缺陷,于是开发了更加安全的hash(sha1)编码。多了8位,所以在解码可逆步骤增加难度,自然也就更加安全
应用案例:QQ的快传和网盘,PHP的原生方法sha1_file计算文件的sha1散列值,生成的值
? ? ? ? ? ? ? ? ?QQ快传和网盘快速上传文件的实现原理:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?①扫描文件,生成文件编码。可能是sha1也可能是md5编码;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②拿到编码后去数据库找,看之前有没有记录。此时注意,只通过文件名是无法识别的,因为文件名可能有改动。所以只能通过md5编码或者sha1编码去找。若找到文件之前有记录,直接拿到记录文件名,然后将对方文件传上去。相当于复制一份发了过去,然后重命名文件。
因此今后欧判断文件是否一样,不能通过文件名来判断。而要通过文件结构来进行判断
?
?
总结:hash类似于md2(32位编码,可逆反向编码,所以不大安全了),hash(也叫sha1),40位编码
?
?
?
?