网上下载文件完整性验证方法(以Ant为例window版)
来源:互联网 发布:程序员刷题书籍推荐 编辑:程序博客网 时间:2024/05/16 05:18
有时候在网上下载文件是否源文件(官方发布的版本)?是否被人篡改过?我们如何验证这些完整性。这里涉及三种校验方法pgp 、MD5、SHA1。本质上,由源文件采用对应算法生成一个字符串。如果源文件改过那么生成的字符串和官方给不一样。这里以Apache Ant 下载的文件为例
1、PGP(Pretty Good Private)
PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。而且它的源代码是免费的。(摘自百度百科)
需要一个PGP工具,下载地址:PGP工具
下载安装,
下载Apache Ant文件 和 对应PGP文件 ,以及KEYS(你可以理解钥匙) 地址:Apache Ant
下载完:
打开dos窗口:
gpg --import KEYS 导入钥匙环 (表示切换到有KEYS文件目录下)
导入钥匙环,就可以用下载文件.asc进行验证了 gpg --verify apache-ant-1.10.1-bin.zip.asc
pgp远远不止这些功能,可以参考百度百科的pgp介绍。
2、采用md5验证
原理:用原始文件md5加密生成一个字符串。然后让你
这个版本的md5生成加密字符串:
0a4530999b71f92bf17ae823ed3b0b2d
如何验证md5字符串呢,需要工具。下载地址:md5工具
下载完解压到任意磁盘目录下
为了方便将验证文件放置当前目录下
有dos命令切换到当前目录下
你会发现,什么也没有输出怎么知道,成功没?这时候需要自己动手写一个md5script.bat文件,内容如下
@echo offmd5 -c%1 %2IF NOT errorlevel 1 GOTO validecho Signature not valid.GOTO end:validecho Signature valid.:end这个脚本意思执行过程是否异常,如果有异常就是打印签名无效 ,反之亦然。 %1 (官方md5字符串) %2(验证源文件)表示占位符,等会运行这个脚本传入的参数
3、SHA1验证
这个和md5类似,只是加密算法不一样
工具地址:支持md5和SHA1验证 (不用安装)
点击SHA1 将字符串另存为*.sha1文件 fsum -jf -sha1 -c apache-ant-1.10.1-bin.zip.sha1
还是没有看出效果,要不先用-sha1加密源文件,然后比对验证生成字符串是否与官方给的相同
采用-sha1加密源文件,注意文件fsum.exe文件位置
打开验证文件 apache-ant-1.10.1-bin.zip.sha1 发现一样的。
- 网上下载文件完整性验证方法(以Ant为例window版)
- 验证下载文件完整性
- jersey 实现文件下载(以ms word 为例)
- 下载,更新及删除文件(以图片为例)
- 网络流媒体下载的 10 种方法(以下载 Echo 音乐为例)
- C# 从服务器下载文件代码 以excel为例
- 验证单选框不能为空(以举报为例)
- MIME设置问题导致网站上某些类型文件无法下载(以ISO为例)
- 在Linux上如何验证已下载文件的真实性和完整性
- 解析文件,要验证文件完整性
- 从网上下载文件(源码)
- 网上下载文件
- C#下载网上文件
- 高通平台(以8937为例)LCD驱动移植文件的确定方法
- ant在开发ejb中的部署WEB应用(以jboss为例)
- Ant+JUnit+Cobertura执行测试用例时,应注意的问题(以Apache POI为例)
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
- GPG加密解密及文件完整性验证
- netty大文件下载
- idea 热部署 idea每次修改都要重启解决
- 小怪平滑跟随角色
- 推荐一款提升工作效率的神器Splashtop XDISPLAY——pad屏幕变为笔记本屏幕扩展
- ZZNU17级新生周赛第三场
- 网上下载文件完整性验证方法(以Ant为例window版)
- Linux的部分命令
- 如何使用一根网线连接多个路由器?
- 对于数字特征的若干理解
- Android横竖屏切换小结
- contenteditable属性
- ZZNU17级新生周赛第四场
- 通过SVM走进机器学习的世界
- GitHub下载Spring源码,编译成MyEclipse识别的项目