求该类型校验码的解析

问题描述:

img

产品条码是全是数字, 我不清除校验码是已何种形式计算得到的,但同一批号下瓶号连号的产品校验码差值有几个常数,但不完全有规律.

以下是部分连号校验码的部分截图

img

为方便截取数据 以下是 表格文件:
链接: https://pan.baidu.com/s/1UuQ8-jw8KOCaGphMDBWfew?pwd=7777

另有酬谢.

博主参考一下下面链接


stm32 CRC-16校验代码,单片机ModBUS-CRC16校验_Mark_md的博客-CSDN博客_crc16 stm32 stm32系列内部均带有硬件CRC,不过为了方便移植,建议使用纯计算的方式,进行CRC-16计算。可用于ModBUS通信。提供两种实现方法的代码:1. 实时计算 CRC-16(耗时多)(这种方式耗时会比较多,优点是占用Flash、RAM小)//CRC-16码(modbus)校验//addr:需要校验的字节数组//num:需要校验的字节数//返回值:16位的CRC校验码u16 crc16(u8 *addr,u8 num){int i,j,temp;u16 c... https://blog.csdn.net/Mark_md/article/details/108600959?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8D%95%E7%89%87%E6%9C%BA%E6%A0%A1%E9%AA%8C%E7%A0%81%E7%9A%84%E8%A7%A3%E6%9E%90&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-0-108600959.nonecase&spm=1018.2226.3001.4450

中间还有那么多,都与校验无关?
既然校验信息在最后面,那中间那段数据多半与校验是有关的。

如果计算校验和的方法不是标准的方法,或者经过一些私有处理后再进行CRC16或者加解密算法求得的结果,这种情况很难知道对方是在使用通用算法前如何将数据进行处理的

https://github.com/Uzi-Granot/PDF417BarcodeDecoder
试试这个pdf417库

那中间那段数据多半与校验是有关的

这个比较快速的方法什么目的呢,直接351b后面补八位直接进制转换也就是你说的除以2^32,为什么要加上16的后八位呢?另外你这个屏号是从多少到多少,为什么13888之后32998

按你意思说,同一批号里面,中间部分没有变的,只有前面16位和后4位是有变化的,那我觉得你不用管中间那个具体是什么数,反正所有的都是一样的,所以i只需要把前面16位和后4位 之间的关系找出来即可 ,也就说前16位 是如何和中间部分得到后4位的就好,又或者和中间部分没关系