若是你怕文件被篡改,那就这样作

经过


为了让你快速理解对称和非对称加密,我煞费苦心...
你应该对对称加密和非对称加密有必定的理解了

咱们再来思考一下若是你想要在网上发布一个你本身的文件给别人下载


你怎么可以保证
别人下载你的文件没有问题呢?

图片

不是说你本身自己的问题
你的文件很屌,没毛病

可是有这么一种状况有可能别人下载到的文件并非你本来发布的文件

被别人篡改咋整?




那么咱们就要用到
相似 MD5 这样的加密了

也就是这样


python




将你的文件
经过加密生成指纹
在你发布文件的时候顺便把指纹也公布了
那么别人下载你这个文件的时候
也经过和你同样的加密规则进行加密

生成出来的指纹
与你公布的指纹比对一波
若是指纹相同那就说明这个文件没有被篡改过



算法

这就是所谓的 Hashinapache

也叫散列tomcat


经过散列函数加密生成的指纹不可逆
除非加密函数太垃圾产生“碰撞”的状况
但通常不多会出现这种状况每个文件生成的指纹都是惟一的

ide

生成指纹


函数

散列不可逆



这种经过散列函数加密的算法常见的有这么几个


加密

         
其实咱们去下载软件的时候官方通常会提供原软件的指纹

好比这个 Tomcat就用了 pgp 和 sha512 加密的算法
spa


图片


图片



因此下载下来的软件能够经过相应的算法生成指纹进行对比
就不怕被人篡改搞些病毒啥的了

在 python 中有这么一个库专门来处理这些算法就是 hashlib
好比咱们在这里下载一下 tomcat 软件
下载完以后咱们就使用 python 校验一下

3d

python -c "import hashlib,sys;print(hashlib.sha512(open(sys.argv[1],'rb').read()).hexdigest())" apache-tomcat-8.5.43.zip


这时候咱们会获得指纹


图片

图片



能够看到和官方的同样说明这个文件没有被篡改过

图片

好了,又有问题了
若是小帅b假装成你发布文件给你的朋友
怎么办?如何确保对方收到的文件就是你本人发的呢?

先不跟你说下回见orm

相关文章
相关标签/搜索