JAVA 实现 CRC16算法
来源:互联网 发布:如何禁用端口 编辑:程序博客网 时间:2024/06/05 09:39
public class Crc16 { private final int polynomial = 0x8408; private int[] table = new int[256]; public int ComputeChecksum(int[] bytes) { int crc = 0xffff; for (int i = 0; i < bytes.length; ++i) { int index = (crc ^ bytes[i]) % 256; crc = (crc >> 8) ^ table[index]; } return crc; } public Crc16() { int value; int temp; for (int i = 0; i < table.length; ++i) { value = 0; temp = i; for (byte j = 0; j < 8; ++j) { if (((value ^ temp) & 0x0001) != 0) { value = (value >> 1) ^ polynomial; } else { value >>= 1; } temp >>= 1; } table[i] = value; } } public static void main(String[] args) { Crc16 c = new Crc16(); int[] arr = new int[]{0x4, 0x0, 0x1}; System.out.println(Integer.toString(c.ComputeChecksum(arr), 16)); arr = new int[]{0xB, 0x0, 0x1, 0x1, 0x1, 0x4, 0xEE, 0x35, 0x45, 0x45 }; System.out.println(Integer.toString(c.ComputeChecksum(arr), 16)); }}
阅读全文
0 0
- CRC16算法Java实现
- JAVA实现CRC16算法
- JAVA 实现 CRC16算法
- java语言实现CRC16算法
- java实现的CRC16算法
- CRC16算法的Java实现
- CRC16校验算法的Java实现
- CRC16算法实现
- CRC16校验算法实现
- CRC16校验算法实现
- CRC16校验算法实现
- CRC16校验算法实现
- c++、java CRC16算法
- c++、java CRC16算法
- Java CRC16算法校验
- c++、java CRC16算法
- java实现CRC16算法与C算法一致
- modbus crc16 java 实现
- Dilated Convolutions——扩张卷积
- 关于cookie和session的疑问
- springBoot集成pageHelp
- 动态链接库so文件中的函数名隐藏
- Bash和Ksh中查找和执行历史命令
- JAVA 实现 CRC16算法
- 提莫队长蓄势待发.
- Linux修改固定IP和查看网关命令
- NTFS文件系统数据恢复----解析MFT表
- SpringBoot报错(五) Failed to load ApplicationContext (2)
- Android线程池
- [BFS][哈希]Magic Squares 魔板
- linux查看历史命令history
- Jquery实现input keydown回车触发事件(任意触发、指定触发)