Loading... ### 引言 我们今天来说一下怎么检测从各个“百度”站点推荐下载的程序包是不是正版的?我们知道有很多的程序包,都被人非法“篡改”了,增加各种广告、流氓软件,篡改你的浏览器主页,甚至给你的电脑植入“病毒”等。 最好的方法当然是你从官方正版网站来下载文件啦。 但有的时候,像一些开源网站,下载文件是很慢很慢的,特别是一些超级大的文件,就不怎么可能在官网慢吞吞的下载(有的时候下到八九十的时候还会异常断开,重新下载) 所以很多时候都是从第三方的站点去下载安装包去安装的,那这样,怎么保证我们下载的包都是正版包?我们在这里推荐两种校验方式,具体要用哪一种,就得看要下载的网站支持哪一种了。 ### `MD5`校验 这里我举个栗子,`MySQL`官网下载源码包或其他二进制包的页面,就是使用了`MD5`校验的,如图 ![Mysql官网下载文件提供的校验值](https://aliyun-yuesha-public-oss.oss-cn-zhangjiakou.aliyuncs.com/usr/uploads/2023/12/154576658.png) 可以看到,每个文件都有一串`MD5:xxxxxxx | Signature`,这个就是校验值了。 具体怎么进行校验呢? 我们可以在命令行中输入命令: ```shel md5Sum 文件名 ``` 就可以看到文件计算出来的`MD5`散列值了。 ![计算MD5散列值](https://aliyun-yuesha-public-oss.oss-cn-zhangjiakou.aliyuncs.com/usr/uploads/2023/12/1207726144.png) 然后拿这个值跟官网提供的散列值匹配,如果计算的算法一致,而且计算出来的散列值也一致,就代表没有差别。 但这个文件包当中任何信息一旦修改了,计算出来的散列值就会不一致 ### `Sha256`校验 比如,我们的`PHP`官网上的`php`源码包下载,就是用的`Sha256`散列。 ![PHP官网提供的sha256散列值](https://aliyun-yuesha-public-oss.oss-cn-zhangjiakou.aliyuncs.com/usr/uploads/2023/12/1806655067.png) 跟`MD5`散列计算差不多,可以在命令行中输入命令: ```shel sha256sum 文件名 ``` 就可以看到文件计算出来的`sha256`散列值了。 也是一样比对就可以知道文件是否有被篡改过了。 如果你觉得这样去对比比较麻烦,还可以结合管道符号进行一些变化。 ```shell sha256sum 文件名 | grep 官网提供的散列值 ``` 如果看到有输出内容,就代表校验是通过的(有一些系统甚至会把散列值标红,因为默认给`grep`命令进行过配置) 比如这样 ![快捷比对散列值](https://aliyun-yuesha-public-oss.oss-cn-zhangjiakou.aliyuncs.com/usr/uploads/2023/12/225430294.png) 欢迎关注拓行公众号,分享各种技术博客文章拓行——奋勇进取,开拓未来,砥砺前行 最后修改:2023 年 12 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~