ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3分钟了解散列函数工作原理

2021-04-13 10:58:03  阅读:140  来源: 互联网

标签:文件 函数 解散 某龙 分钟 散列 下载 散列值


要学习了解散列函数,阿龙给大家讲个故事吧,通过故事场景,可以更深刻地理解散列函数。



故事


      某龙在公司里是从事网络工程师工作。某龙单身多年,所以经常会在公司下班时,在公司下载某种儿童不宜的视频,然后拷到U盘里,然后带宿舍,晚上独自享受。(PS,某龙宿舍的网速不给力,所以只能在公司下载)。

     有一天,某龙刚从客户那里搬完砖回到公司,就找了个资源下载,Wo,Cao! 终于找到几百G的某视频资源。



兴奋地赶紧下载。视频下载完了,开始拷贝到U盘了,这么大得耗很长时间才能拷完,但某龙已经很累了,决定先下班回家休息了,电脑就先放在公司拷贝着。


      第二天,某龙来到公司,这时,他突然产生了这样的疑问:

U盘里的这个视频文件,会是和我昨晚下载是一样吗?(同个文件吗)白天在公司,也不好意思在公司打开视频文件看看是不是同一个。这就尴尬了。


     某龙的会产生疑问是这样的:会不会有人动过某龙的电脑,将文件改写了?好吧,就算没人直接来到某龙的卡位上,或许有可能是通过网络***某龙的电脑。再或者,某龙的电脑经常访问某种网页,可能早已感染病毒了,造成昨晚下载的文件也被感染篡改了。


    此时,某龙就想知道U盘里已拷贝好了视频文件是不是同一个?如果该文件和昨晚下载的文件一模一样,那么就是真的。但只要有一点点不一样,一帧被改过,哪怕一比特有所不同,那它就不是真了。


    其实上述所说的“是真的” 的性质就是网络安全IT术语,完整性,也称一致性。也就是说,某龙现在就是需要验证该文件的完整性啦。




散列函数


散列函数,平时也叫做HASH函数


图片

通过散列函数计算得到的结果,我们叫它:散列值(哈希值)。 你也可以理解为数据的指纹(Fingerprint)。如图,

图片



散列函数工作原理



图片


散列函数具有如下4个特点,请大家记住:


图片



散列函数如何验证数据完整性




【阿龙给妹纸发情书的故事】

图片

1、我先把重要文件,然后用散列函数计算,得到散列值:a1l2o3n4g5


2、然后我再把重要文件和这个散列值 打包起来,一起发送给漂亮的妹纸。


3、妹纸接收到我发的重要文件,她在自己的电脑也用散列函数(说白了,可以用MD5工具)进行散列函数计算,得到散列值:a1l2o3n4g5


4、然后妹纸把自己计算得到的散列值和我发给她的打包文件里的散列值是否相同?如果相同,加上跟进散列函数的雪崩效应和冲突避免的特点,可以证明该重要文件是完整的,没有人篡改过的。


(ps,不过容易受到中间人***,欲知相应知识后续再分享)


比如,

比如,阿龙之前在F5官方网下载过软件版本时,通常都会有MD5文件一起下载。


图片

我们先打开记事本打开这个md5文件:BIGIP-10[1].1.0.3341.0.iso.md5

图片



然后用MD5工具对下载的iso文件进行计算,会得出一个md5值,看看是否和记事本里的md5值一样,如果一样,则文件完整性没问题,就是文件没有被修改过。

图片


结果,计算的MD5值和下载的md5文件里的值是一样的。


标签:文件,函数,解散,某龙,分钟,散列,下载,散列值
来源: https://blog.51cto.com/u_15127557/2702487

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有