Android检验下载的文件的完整性
来源:互联网 发布:苹果手机称重软件 编辑:程序博客网 时间:2024/06/05 16:54
在应用开发中往往需要将下载成功的文件进行MD5校验,就是获取一个文件的消息摘要,每个文件生成的摘要都是独一无二的,生成的消息摘要是128位(16个字节)的数据,一般都需要将他们转换成十六进制的字符串。将十进制数转换成十六进制可以使用Integer.toHexString(int num),只要低八位可以使用0xff & num就只会截取32位的整型数值的低八位。
MessageDigest degest = MessageDigest.getInstance("MD5");FileInputStream inputStream=new FileInputStream("test.txt");DigestInputStream dis=new DigestInputStream(inputStream, degest);//对于大文件或者网络文件使用输入流的形式要比字节数组方便很多也节省内存byte[] buffer=new byte[8986];ByteArrayOutputStream fileOutput=new ByteArrayOutputStream();while((dis.read(buffer))!=-1){//跟读普通输入流是一样的,原理就是需要将输入流读完后,再调用digest方法才能获取整个文件的MD5 fileOutput.write(buffer);}String fileContent=fileOutput.toString();//读取到的文件的内容byte[] sumary=degest.digest();StringBuffer strBuffer = new StringBuffer();for (int i = 0; i < sumary.length; i++) { String tmp=Integer.toHexString(sumary[i]&0xff); if(tmp.length()==1)//如果这个字节的值小于16,那么转换的就只有一个字符,所以需要手动添加一个字符“0”, tmp="0"+tmp; strBuffer.append(tmp);}System.out.println(strBuffer.toString());
0 0
- Android检验下载的文件的完整性
- md5算法 保证下载文件的完整性
- 完整性约束的定义和检验
- 效验文件的完整性
- 如何检测Linux系统已下载文件的完整性
- Ubuntu使用SHA256检验iso镜像完整性的实例
- 验证下载文件完整性
- jpeg 文件完整性的检查
- Dex文件的完整性校验
- Mozilla Firefox Web Browser火狐浏览器安装一直处于“正在检测下载文件的完整性”
- Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
- Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
- Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
- Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
- 在Linux上如何验证已下载文件的真实性和完整性
- android 文件的下载
- Android 文件的下载
- Android文件的下载
- 做正确的事,做正确的思考:如何形成一个解决方案:
- kafka问题列表:
- 当前用户对hadoop安装目录无足够权限
- Java 类加载与初始化
- java中的关键字synchronized
- Android检验下载的文件的完整性
- 为了解决一个问题,在引入一个方案时,往往会碰到这样一种情况,这个时候如果想不到更好的方案,
- 打破思考的定式:
- 我的技术博客开始啦!
- 包含了网络的软件设计,让我们必须考虑“超时”,并且在超时后作出反应:
- 理清楚概念,混淆概念会造成理解混乱:
- 需求提炼:产品需求、技术需求
- 什么是抽象:
- 高可用中可容忍挂几个node: