wsdl文件是怎么生成的_如果你怕文件被篡改,那就这样做

d0f7309fb0b7f5caa930bed618231a3a.png

通过

为了让你快速理解对称和非对称加密,我煞费苦心...

你应该对对称加密和非对称加密有一定的理解了

我们再来思考一下如果你想要在网上发布一个你自己的文件给别人下载

你怎么能够保证

别人下载你的文件没有问题呢?

48e3c42036d10447f47b7c76da451447.gif

不是说你自己本身的问题

你的文件很屌,没毛病

但是有这么一种情况有可能别人下载到的文件并不是你原本发布的文件

被别人篡改了咋整?

783227ea1b356a9fe4b068300fe50192.png

那么我们就要用到

类似MD5这样的加密了

也就是这样

4a86be8eb4abb6da51e69476f8953b1d.png

将你的文件

通过加密生成指纹

在你发布文件的时候顺便把指纹也公布了

那么别人下载你这个文件的时候

也通过和你一样的加密规则进行加密

生成出来的指纹

与你公布的指纹比对一波

如果指纹相同那就说明这个文件没有被篡改过

9121c53f969c73b30783e90fde8627bb.png

这就是所谓的 Hashing

也叫散列

通过散列函数加密生成的指纹是不可逆

除非加密函数太垃圾产生“碰撞”的情况

但一般很少会出现这种情况每一个文件生成的指纹都是唯一的

9b09bc2e3107f9d74b8e9c23eafe6de5.png

生成指纹

73adc1f88ea96d56185f04b4537dc101.png

散列不可逆

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

c0efd78d1ed3f93326ccb0526658fff0.png

其实我们去下载软件的时候官方一般会提供原软件的指纹

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

663e20979bd66be091a570286996c1a2.png

7de2f6883fa279ca8bb4a67eebc9a5d9.png

所以下载下来的软件可以通过相应的算法生成指纹进行对比

就不怕被人篡改搞些病毒啥的了

在 python 中有这么一个库专门来处理这些算法就是 hashlib

比如我们在这里下载一下 tomcat 软件

下载完之后我们就使用 python 校验一下

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

这时候我们会得到指纹

51323b2a594e9f845a0a1ef02b53a8c9.png

0b3076a6f2a7c44b82a537feef9e911b.png

可以看到和官方的一样说明这个文件没有被篡改过

03ef67fc8224ef9dfe182e1d2e14dca1.png

好了,又有问题了

如果小帅b伪装成你发布文件给你的朋友

怎么办?如何确保对方收到的文件就是你本人发的呢?

先不跟你说下回见peace

19dee1f9b5acce4ccf67f21b19eaee93.gif

扫一扫

学习 Python 没烦恼

96531d9abf1aeb08d25ba0aafa8892c2.png

点个赞啊~~(破音)

3bf6510ba0eb194de8e1fd48b15ce3f8.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值