使用文件Md5值检测文件完整性

 最近有客户反馈更新我组负责的产品后,一启动项目就崩溃,经检查发现是客户更新软件时,资源文件没有下载完整,导致程序无法正常进行。为了解决这个问题,博主第一次了解到文件的Md5值这个概念(技术小白还在成长中,偷笑见谅见谅),所以有了这篇博客。

        首先介绍一下几个相关概念:

        MD5算法:是计算机广泛使用的一种哈希算法,将数据(如汉字)运算为另一固定长度值,用于确保信息传输完整一致。java,C++ 等多种编程语言都有MD5的实现,可直接使用。

       文件MD5值:每个文件都可以用MD5验证程序算出一个固定的MD5值,是独一无二的。一般来说,开发方会在软件发布时预先算出文件的MD5值,如果文件被盗用,加了木马或者被篡改版权,那么它的MD5值也随之改变,也就是说我们对比文件当前的MD5值和它标准的MD5值来检验它是否正确和完整。

       查看文件MD5值:图解教程,自己去看吧 http://jingyan.baidu.com/article/c910274b9c8261cd361d2d99.html

 

      再说一下我的思路和具体代码吧

      我组产品包含大量音频和图片资源,MD5主要就用来检测这些资源文件的完整性。主要思路是:先计算出所有资源文件的MD5值,存到一个xml文件中,作为标准的MD5值。然后把这个xml文件放到我们的产品中,每次更新程序以后,算出资源文件的MD5值,同样存到xml文件中。对比两个xml文件,并打印出发生变化的文件名。

     下面是关键代码:

 

      

     储存和对比的代码就不贴出来了,相信大家都会的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值