CN107102681A - 一种条码中校验码的计算方法及条码的验证方法 - Google Patents
一种条码中校验码的计算方法及条码的验证方法 Download PDFInfo
- Publication number
- CN107102681A CN107102681A CN201610098675.3A CN201610098675A CN107102681A CN 107102681 A CN107102681 A CN 107102681A CN 201610098675 A CN201610098675 A CN 201610098675A CN 107102681 A CN107102681 A CN 107102681A
- Authority
- CN
- China
- Prior art keywords
- bar code
- numerical value
- code
- bit
- look
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06C—DIGITAL COMPUTERS IN WHICH ALL THE COMPUTATION IS EFFECTED MECHANICALLY
- G06C3/00—Arrangements for table look-up, e.g. menstruation table
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Record Information Processing For Printing (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
本发明的第一目的在于提供一种条码中校验码的计算方法,包括以下步骤:第一步:生成第一查找表和第二查找表;第二步:将条码除去校验码位之后从左至右标记出奇数位和偶数位,再根据第一步中的第一查找表将奇数位和偶数位均换成0‑33之间的数值;第三步:将第二步中所有偶数位的数值加和,再乘以3;再加上第二步中所有奇数位的数值之和,得到总和值;第四步:将第三步中的总和值除以34,得到余数;第五步:用34减去第四步所得余数即得差值;第六步:将第五步中的差值根据第一步中的第二查找表转换成相应的校验码位,即得校验码。本发明的第二目的在于提供上述计算方法获得条码的验证方法,验证过程精简,准确度高。
Description
技术领域
本发明涉及条码技术领域,具体涉及一种条码中校验码的计算方法及条码的验证方法。
背景技术
条形码现已广泛应用于生活中的各个领域。条码作为重要的符号技术,在电子数据交换(EDI)、供应链等跨行业的信息流过程中起着十分重要的作用。
目前市面上产品的条码都是由多位的数字和字母组成,其中有一位是校验码(Checksum/防伪码)。现有技术中公开了一种条码的校验码计算方法,包括如下步骤:第一步:将条码自右向左编号;第二步:从序号2开始求出偶数位上的数字之和;第三步:从序号3开始求出奇数位上的数字之和;第四步:将第二步的和值和第三步的和值进行加和得总和;第五步:用大于或等于第四步中的总和且为10的最小整数倍的数值减去第四步中的总和,其差值即为校验码值。此种方法仅适用于纯数字条码,而对字母和文字组合的条码不适用。
随着技术的不断发展,条码采用数字和字母的组合使用逐渐广泛。怎么样可以有效的防止产品被其它公司仿造呢?怎么样查询产品是否为正品呢?以上问题是目前亟待解决的问题。
发明内容
本发明的第一目的在于提供一种条码中校验码的计算方法,尤其适用于17位的数字或数字和字母组合的条码,提高生产效率和品质,便于查伪,从而提高客户的满意度。具体技术方案如下:
一种条码中校验码的计算方法,包括以下步骤:
第一步:生成第一查找表和第二查找表,所述第一查找表中:条码中条码位0-9依次对应数值0-9,条码位中:字母A-H依次对应数值10-17,字母J-N依次对应数值18-22,字母P-Z依次对应数值23-33;所述第二查找表中:数值1-9依次对应校验码位1-9,数值10-17依次对应校验码位A-H,数值18-22依次对应校验码位J-N,数值23-33依次对应校验码位P-Z,数值34对应校验码位数值0;
第二步:将条码除去校验码位之后从左至右标记出奇数位和偶数位,再根据第一步中的第一查找表将奇数位和偶数位均换成0-33之间的数值;
第三步:先将第二步中所有偶数位的数值加和,再乘以3;再加上第二步中所有奇数位的数值之和,得到总和值;
第四步:将第三步中的总和值除以34,得到余数;
第五步:用34减去第四步所得余数即得差值;
第六步:将第五步中的差值根据第一步中的第二查找表转换成相应的校验码位,即得校验码。
应用本发明的技术方案,具有以下有益效果:(1)本发明采用的条码中校验码的计算方法,步骤简单,操作方便;(2)本发明方法所得的校验码精准度高,且使得整个条码不易被仿造/模仿。
本发明的第二目的在于提供一种条码的验证方法,具体技术方案如下:
一种条码的验证方法,包括以下步骤:
第一步:生成查找表,所述查找表中:条码位中数字0-9依次对应数值0-9,条码位中:字母A-H依次对应数值10-17,字母J-N依次对应数值18-22,字母P-Z依次对应数值23-33;
第二步:将上述条码中校验码的计算方法所获得的校验码的条码从左至右标记出奇数位和偶数位;
第三步:根据第一步中的查找表将奇数位和偶数位均换成0-33之间的数值;
第四步:先将第三步中所有偶数位的数值加和,再乘以3;再加上第三步中所有奇数位的数值之和,得到总和值;
第五步:将第四步中的总和值除以34得余数;
第六步:对第五步所得余数进行判断,若此余数为0,则判定条码为正确条码;若此余数不为0,则判定此条码为错误条码。
应用本发明的技术方案,具有以下有益效果:(1)本发明采用的条码检验方法步骤简单,能实现对条码的快速检验;(2)检验操作无需专业技术人员,人力成本低。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照具体实施例,对本发明作进一步详细的说明。
具体实施方式
以下结合实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。
实施例1:
一种条码中校验码的计算方法,条码为123568448569A45!(最后一位!代表需要计算的检验码),条码的位数为17位,其编码规则为:第1-2位为零部件标识码,第3-9位为供应商代码,第10位为生产年份,第11位为生产月份,第12-13位为四位数的生产日期,第14位为零件型号,第15-17位为生产序列号(其中,第17位为校验码)。除此之外,也可以采用行业内认可的其他编码方式。
此条码中校验码的计算方法具体包括以下步骤:
第一步:生成第一查找表,详见表1,所述第一查找表中:条码中条码位0-9依次对应数值0-9,条码位中:字母A-H依次对应数值10-17,字母J-N依次对应数值18-22,字母P-Z依次对应数值23-33;生成第二查找表,详见表2,所述第二查找表中:数值1-9对应校验码位1-9,数值10-17依次对应校验码位A-H,数值18-22依次对应校验码位J-N,数值23-33依次对应校验码位P-Z,数值34对应校验码位0(数字0);
表1第一查找表中条码位和数值对应表
条码位 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
数值 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
条码位 | A | B | C | D | E | F | G | H | J | K |
数值 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
条码位 | L | M | N | P | Q | R | S | T | U | V |
数值 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
条码位 | W | X | Y | Z | - | - | - | - | - | - |
数值 | 30 | 31 | 32 | 33 | - | - | - | - | - | - |
表2第二查找表中数值和条码位对应表
数值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
条码位 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A |
数值 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
条码位 | B | C | D | E | F | G | H | J | K | L |
数值 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
条码位 | M | N | P | Q | R | S | T | U | V | W |
数值 | 31 | 32 | 33 | 34 | - | - | - | - | - | - |
条码位 | X | Y | Z | 0 | - | - | - | - | - | - |
第二步:将条码(此处的条码可以通过人工输入或者扫描获取)除去校验码位之后从左至右标记出奇数位和偶数位(O代表偶数位,E代表奇数位),再根据第一步中的第一查找表将奇数位和偶数位均换成0-33之间的数值,详见表3;
第三步:先第二步中所有偶数位的数值加和(和为43),再乘以3(积为129);再加上第二步中所有奇数位的数值之和(和为43),得到总和值(总和值为172),详见表3;
第四步:将第三步中的总和值除以34取整得到余数(余数为2),详见表3;
第五步:用34减去第四步所得余数即得差值(差值为32);
第六步:将第五步中的差值根据第一步中的第二查找表转换成相应的数字或字母,即得校验码(此处校验码为Y)。
表3校验码计算过程统计表
上述条码(条码号为123568448569A45Y,条码的位数为17位,其编码规则为:第1-2位为零部件标识码,第3-9位为供应商代码,第10位为生产年份,第11位为生产月份,第12-13位为四位数的生产日期,第14位为零件型号,第15-17位为生产序列号)具体验证过程具体包含如下步骤:
第一步:生成查找表,所述查找表中:条码位中数字0-9对应数值0-9,条码位中除去O和I的24个字母A-Z依次对应数值10-33;
第二步:将带有如权利要求1-3任意一项所述条码中校验码的计算方法所获得的校验码的条码从左至右标记出奇数位和偶数位,详见表4;
第三步:根据第一步中的查找表将奇数位和偶数位均换成0-33之间的数值,详见表4;
第四步:先将第三步中所有偶数位的数值加和,再乘以3;再加上第三步中所有奇数位的数值之和,得到总和值,详见表4;
第五步:将第四步中的总和值除以34得余数,详见表4;
第六步:对第五步所得余数进行判断,此余数为0,则判定条码为正确条码。
表4验证方法计算过程统计表
除了实施例1的条码(123568448569A456Y)外,条码HL21504105626L1S6、DL10506685617L1QX、BL35504305415L1KL、LX82504604623L1L4、HL43204805912L14G、HL51504905829L10J、FP11806565A18L1KV、AL70406425121L1LT、HL34506965714L1BD、HL34806435911L1L2、HL70504025317L1F9、HL10205744921L1C3、UW71606344725L1K5、HL31206614620L1YF、FP46306695A16L1CZ、HL81506644B24L1U7、HU22504595213L1TZ以及KL62804834910L13E也可以通过实施例1的计算方法获得验证码值并且能通过与实施例1相同的条码验证方法进行验证。
除此之外,位数为17位以外的其他位数(如13位、15位等)的条码也可以采用本发明的方法获取验证码以及对条码进行验证。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种条码中校验码的计算方法,其特征在于,包括以下步骤:
第一步:生成第一查找表和第二查找表,所述第一查找表中:条码中条码位0-9依次对应数值0-9,条码位中:字母A-H依次对应数值10-17,字母J-N依次对应数值18-22,字母P-Z依次对应数值23-33;所述第二查找表中:数值1-9对应校验码位1-9,数值10-17依次对应校验码位A-H,数值18-22依次对应校验码位J-N,数值23-33依次对应校验码位P-Z,数值34对应校验码位0;
第二步:将条码除去校验码位之后从左至右标记出奇数位和偶数位,再根据第一步中的第一查找表将奇数位和偶数位均换成0-33之间的数值;
第三步:先将第二步中所有偶数位的数值加和,再乘以3;再加上第二步中所有奇数位的数值之和,得到总和值;
第四步:将第三步中的总和值除以34,得到余数;
第五步:用34减去第四步所得余数即得差值;
第六步:将第五步中的差值根据第一步中的第二查找表转换成相应的校验码位,即得校验码。
2.一种条码的验证方法,其特征在于,包括以下步骤:
第一步:生成查找表,所述查找表中:条码位中数字0-9依次对应数值0-9,条码位中:字母A-H依次对应数值10-17,字母J-N依次对应数值18-22,字母P-Z依次对应数值23-33;
第二步:将带有如权利要求1-3任意一项所述条码中校验码的计算方法所获得的校验码的条码从左至右标记出奇数位和偶数位;
第三步:根据第一步中的查找表将奇数位和偶数位均换成0-33之间的数值;
第四步:先将第三步中所有偶数位的数值加和,再乘以3;再加上第三步中所有奇数位的数值之和,得到总和值;
第五步:将第四步中的总和值除以34得余数;
第六步:对第五步所得余数进行判断,若此余数为0,则判定条码为正确条码;若此余数不为0,则判定此条码为错误条码。
3.根据权利要求1或2所述的条码中校验码的计算方法,其特征在于,所述条码的位数为17位。
4.根据权利要求3所述的条码中校验码的计算方法,其特征在于,所述条码中:第1-2位为零部件标识码,第3-9位为供应商代码,第10位为生产年份,第11位为生产月份,第12-13位为四位数的生产日期,第14位为零件型号,第15-17位为生产序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610098675.3A CN107102681B (zh) | 2016-02-23 | 2016-02-23 | 一种条码中校验码的计算方法及条码的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610098675.3A CN107102681B (zh) | 2016-02-23 | 2016-02-23 | 一种条码中校验码的计算方法及条码的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107102681A true CN107102681A (zh) | 2017-08-29 |
CN107102681B CN107102681B (zh) | 2021-01-26 |
Family
ID=59658550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610098675.3A Active CN107102681B (zh) | 2016-02-23 | 2016-02-23 | 一种条码中校验码的计算方法及条码的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107102681B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909001A (zh) * | 2019-11-20 | 2020-03-24 | 成都比特信安科技有限公司 | 一种数据种子植入及溯源追踪的方法 |
CN113037820A (zh) * | 2021-02-26 | 2021-06-25 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN113269003A (zh) * | 2021-06-02 | 2021-08-17 | 海特锐(天津)科技有限公司 | 一种轮毂条码的读码方法、编码方法、读取系统及其存储介质 |
CN113672230A (zh) * | 2021-06-23 | 2021-11-19 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000007820A (ko) * | 1998-07-07 | 2000-02-07 | 정선종 | 4상 4바코드 인쇄 시스템 및 그 방법과 오류 교정 시스템 및 그방법 |
US6279828B1 (en) * | 1999-03-01 | 2001-08-28 | Shawwen Fann | One dimensional bar coding for multibyte character |
CN101271539A (zh) * | 2003-12-08 | 2008-09-24 | 国际条形码公司 | 使用代码、条形码及射频标识别来识别及鉴别商品的方法 |
-
2016
- 2016-02-23 CN CN201610098675.3A patent/CN107102681B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000007820A (ko) * | 1998-07-07 | 2000-02-07 | 정선종 | 4상 4바코드 인쇄 시스템 및 그 방법과 오류 교정 시스템 및 그방법 |
US6279828B1 (en) * | 1999-03-01 | 2001-08-28 | Shawwen Fann | One dimensional bar coding for multibyte character |
CN101271539A (zh) * | 2003-12-08 | 2008-09-24 | 国际条形码公司 | 使用代码、条形码及射频标识别来识别及鉴别商品的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909001A (zh) * | 2019-11-20 | 2020-03-24 | 成都比特信安科技有限公司 | 一种数据种子植入及溯源追踪的方法 |
CN113037820A (zh) * | 2021-02-26 | 2021-06-25 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN113037820B (zh) * | 2021-02-26 | 2022-10-11 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN113269003A (zh) * | 2021-06-02 | 2021-08-17 | 海特锐(天津)科技有限公司 | 一种轮毂条码的读码方法、编码方法、读取系统及其存储介质 |
CN113672230A (zh) * | 2021-06-23 | 2021-11-19 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
CN113672230B (zh) * | 2021-06-23 | 2024-04-09 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107102681B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107102681A (zh) | 一种条码中校验码的计算方法及条码的验证方法 | |
Zhang et al. | SteganoGAN: High capacity image steganography with GANs | |
Low et al. | A maximum entropy approach to Chinese word segmentation | |
CN100369059C (zh) | 一种矩阵式二维条码及其编码解码方法 | |
CN106650869B (zh) | 一种基于二维码的信息隐藏方法 | |
JP2009510582A (ja) | 生体認証テンプレートの安全な保護 | |
CN108416343A (zh) | 一种人脸图像识别方法及装置 | |
CN110635807A (zh) | 一种数据编码方法及译码方法 | |
CN105160379A (zh) | 一种标识码的生成方法和装置、校验方法和装置 | |
CN114356919A (zh) | 一种结构化数据库的水印嵌入方法、溯源方法及装置 | |
JP2020537363A (ja) | 二次元コード誤り訂正復号化 | |
CN113128504A (zh) | 一种基于校验规则的ocr识别结果纠错方法、设备 | |
CN105844479A (zh) | 用于贵金属上的点阵图像、其生成方法与应用方法 | |
CN109360143A (zh) | 一种用于大数据的数字水印嵌入和提取方法及系统 | |
CN105593876A (zh) | 序列化流中的验证 | |
CN106130566A (zh) | 一种72比特状态信息大数据溯源系统可纠错编解码方法 | |
CN109450460A (zh) | 一种rs码与卷积码的级联码的参数识别方法 | |
CN111028211B (zh) | 一种陶瓷产品识别方法及系统 | |
CN110728345B (zh) | 一种抗背景文字干扰的识别码及其生成方法 | |
Li et al. | Distributed randomized Kaczmarz for the adversarial workers | |
CN115334317B (zh) | 一种信息处理方法、装置及设备 | |
US20150356324A1 (en) | Identifiers for mass serialization | |
Yang et al. | A fingerprint encryption scheme based on irreversible function and secure authentication | |
WO2023142183A1 (zh) | 一种实物艺术品的数字权益证明的生成方法及装置 | |
CN110765491B (zh) | 一种去敏感化数据关联关系的保持方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |