由于近期和硬件设备进行通信。涉及到了crc校验位。设备要求crc-16/xmodem进行校验。

public static int CRC_XModem(byte[] bytes) {// initial valueint crc = 0x00;int polynomial = 0x1021;for (int index = 0; index < bytes.length; index++) {byte b = bytes[index];for (int i = 0; i < 8; i++) {boolean bit = ((b >> (7 - i) & 1) == 1);boolean c15 = ((crc >> 15 & 1) == 1);crc <<= 1;if (c15 ^ bit) crc ^= polynomial;}}crc &= 0xffff;return crc;
}
// crc:从16进制截下来的要校验的数据。orginCrc:16进制数据中自带的crc
public static boolean verify(String crc, String orginCrc) {//HexUtil.hexStringToBytes==>把字符串转成16进制字节crc = Integer.toHexString(CRC_XModem(HexUtil.hexStringToBytes(crc)));if (crc.equalsIgnoreCase(orginCrc)) {return true;}return false;
}

crc校验位可以保证通信传输过程中数据的准确性,判断数 据有无丢失

java crc-16校验位 xmodem x16+x12+x5+1(0x11021)实现相关推荐

  1. FPGA CRC-16/XMODEM x16+x12+x5+1

    module crc_16(input clk,input [47:0]mac,input rst,input hash_enable,//哈希控制器使能位output reg hash_comple ...

  2. C++ CRC校验 CRC16 CCITT FALSE x16 + x12 + x5 + 1

    以下样例为ASCII 请注意 //CRC - 16 / CCITT - FALSE  x16 + x12 + x5 + 1 unsigned short crc16(const unsigned ch ...

  3. crc 16 1021 java_【软件升级】CCITT标准CRC16(1021)算法 Java代码【转】

    转自https://blog.csdn.net/ywb201314/article/details/52083036 package com.jst.util; /** * CRC-CCITT 算法校 ...

  4. java crc计算_JavaCRC校验原理

    一.基本原理 CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列:附加在数据序列之后的这个检验码与数据序列的内容之间存在着 ...

  5. 不同开发语言 CRC 计算 CRC-16/XMODEM

    做的软件需要个单片机打交道,通讯走的TCP里面校验数据CRC了. 因为用到了不同语言,所以整理下这块的使用. 1. go 语言 CRC 计算 CRC-16/XMODEM var crc16tab = ...

  6. minecraft1.16java_MINECRAFT JAVA 1.16.1发布

    文章由机翻+手动核对,不会出现生草内容,请放心阅读. 原文链接: https://www.minecraft.net/zh-hans/article/minecraft-java-edition-1- ...

  7. Java将16进制字符串,转换成字符串

    Java将16进制字符串,转换成字符串 前段时间遇到同事给了我一串16进制的字符串,让我把它给转成正常的字符串. 16进制字符串: c8:ed:cc:bd:d5:eb 转换后正常的字符串: 软探针 解 ...

  8. 快速了解 Java 9 - 16 新特性,助你脱离内卷

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Each fall you take, makes you str ...

  9. 卷不动了?300 秒快速了解 Java 9 - 16 新特性,助你脱离内卷

    点击下方"IT牧场",选择"设为星标" 来源 | https://juejin.cn/post/6964543834747322405 JAVA 这几年的更新实 ...

最新文章

  1. 小米6鲁大师html5评测,一加6T依然是顶级旗舰!鲁大师2018手机性能榜跑分排前三!...
  2. elasticsearch6.X 及head插件部署(完整版)
  3. Ch5501-环路运输【环形处理dp】
  4. 删除oracle补丁包,最新Oracle关键补丁:更新包括248个修复
  5. vue.js中使用微信扫一扫,解决invalid signature问题
  6. 吴恩达神经网络和深度学习-学习笔记-31-池化层
  7. dos命令实现无限弹窗
  8. 短信工具类 SmsUtil
  9. Mongodb 按照时间进行分组统计查询
  10. 徙步藏东南不是江南胜似江南
  11. unity3d 压缩文件夹和压缩文件
  12. java语言基础知识笔记
  13. 性格色彩测试android程序开发之八--测试题的实现
  14. Windows 系统中 CMD 工具常用命令
  15. 电子计算机系物联网工程就业去向,物联网专业毕业生现状 刚毕业薪资多少
  16. 酷我音乐地址解析工具,2019年04月14
  17. 阿里云服务器(Windows32操作系统)及配置方法
  18. IMX6 CAN接口调试
  19. 武汉科技大学计算机复试考什么,武汉科技大学2016年硕士研究生复试及录取工作方案...
  20. 离谱!研究生论文盲审分数相差34分不让答辩,导师:离谱至极!

热门文章

  1. java 单链表 添加 插入 删除
  2. 线性回归中“回归”的含义
  3. 哪个微信公众号第三方平台可以设置渠道二维码?
  4. CI520 国产13.56MHz非接触式读写器NFC读卡芯片替代CV520低成本替换
  5. Web 组件代码示例
  6. 如何优雅的研究 RGSS3 (三) 调整窗口的细节
  7. 北理乐学回文数的思考(附代码)
  8. struts2文件上传类型限制 之 zip和rar文件类型
  9. pandas如何统计均线、移动平均线的方法rolling总结
  10. 商品规格表设计_超市商品配置表的管理