android checksum校验
checksum就是校验码,和md5的概念可以说是一样的,只是算法不一样.
checksum的算法也都不一样,看定的协议是怎么样的
我这边的业务场景是需要android端给打印机发送一个升级指令,两个是由蓝牙通讯的,打印机就需要校验下升级文件
我们定的checksum协议:将实际文件按无符号字节类型累加,保留低4字节
注:因为java里面默认的类型都是有符号类型的,所以需要先把文件的字节转成无符号类型的累加 就OK了. 直接上代码,注释都很清楚
byte[] write =new byte[(int)upgradeFile.length()]; //升级文件先写到字节数组中 FileInputStream inputStream= null; try {inputStream = new FileInputStream(upgradeFile); inputStream.read(write); inputStream.close(); } catch (FileNotFoundException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace(); } int fileByte=0; //做累加 for (byte b:write) { fileByte+=b&0xff; //b&0xff 就是将字节转为无符号类型的 }byte[] loB4=intToBytes(fileByte); //checksum 取低四字节
/** * 将int数值转换为占四个字节的byte数组 * @param value * 要转换的int值 * @return byte数组 */ public static byte[] intToBytes( int value ) {byte[] src = new byte[4]; src[3] = (byte) ((value>>24) & 0xFF); src[2] = (byte) ((value>>16) & 0xFF); src[1] = (byte) ((value>>8) & 0xFF); src[0] = (byte) (value & 0xFF); return src; }
代码很简单这样子checksum就算完了
刚开始做的时候浪费了一点时间 就是因为不知道java默认都是有符号类型的, 累加完了才转为无符号类型.
android checksum校验相关推荐
- 百度OCR文字识别-Android安全校验
百度OCR文字识别-Android安全校验 本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为 ...
- Hadoop数据完整性与CheckSum校验原理
一.HDFS数据完整性 用户肯定都希望系统在存储和处理数据时,数据不会有任何丢失或损坏.但是,受网络不稳定.硬件损坏等因素,IO操作过程中难免会出现数据丢失或脏数据,难免会出现数据丢失或脏数据,数据传 ...
- android MD5校验码的生成与算法实现
android MD5校验码的生成与算法实现 在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD ...
- checksum校验
原理 P/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,采用的都是将数据流视为16位整数流进行重复叠加计算.为了计算检验和,首先把检验和字段置为0.然后,对有效数据范围内中每个16位 ...
- android签名校验代码,Android签名验证解析
1.本文主要内容 知识回顾 签名验证解析 总结 本文介绍下Android在安装apk时,对签名的验证过程 2.知识回顾 在Android签名过程详解一文中,我已经详细说明签名的过程以及为什么要这么做, ...
- 面试:Android 签名校验机制 v1、v2、v3
探究 Android 签名机制和原理 - 腾讯云开发者社区-腾讯云 一.APK签名可以带来以下好处 应用程序升级 如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名与 ...
- SQL SERVER数据页checksum校验算法
在SQL SERVER2005以上版本中,数据页默认开启checksum,标识为m_flagBits & 0x200 == True,其值m_tornBits位于页头0x3C,4字节. 其算法 ...
- android渠道校验,Android渠道版本自动化校验
国内市场上有许许多多的应用市场,常见的有:百度.360.腾讯应用宝.豌豆荚等.其他手机厂家如小米.华为.魅族.三星等都有自己的应用市场,总共有上百家! 1. 问题 发版前,Android工程师打包了上 ...
- android sha1校验工具,【原创实用】文件校验工具V1.2.1:支持MD5 SHA1 SHA256
前言:这个程序其实我很早以前(大概上上周?)就已经完成了 但是没有发布,因为我还想不断打磨打磨. 先别走,结尾还有彩蛋 现如今相较第一个版本,已经进行如下改动: 解决clear之后后台线程依然未停止的 ...
最新文章
- Keras【Deep Learning With Python】MNIST数据集识别优化
- 内排序及时间复杂度分析-插入排序选择排序交换排序归并排序分配和索引排序对比...
- 学习“用dlopen,dlsym加载动态链接库.so中函数”之摘录
- EasyStack一天连中五单,OpenStack新拐点显现
- 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
- 数据可视化----我在寻找一款类似vfp或是access这样自带可视化风格的数据库或是键盘数据库...
- 好用!一键生成数据库文档,这个开源的文档生成工具值得了解
- PAT 乙级 1011. A+B和C (15) Java版
- Locked Treasure
- 转载--如何使用# ## ... _ _VA_ARGS_ _
- 【BZOJ】【1010】【HNOI2008】玩具装箱Toy
- 【Unity 题型】Unity基础
- Pdf格式文件怎么修改
- java 抽样算法_java生成抽样随机数的多种算法
- office 2010 在安装过程中出错
- Echart甘特图实现效果 + 配带抽成方法 + 源码
- k8s学习笔记2-搭建harbor私有仓库
- MobileNet_v1:深度可分离卷积
- 如何连接学校计算机机房的网络,学校计算机机房网络管理和维护.doc
- 【R统计】主成分分析2——主成分回归