校验码
校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。常见的校验码有中华人民共和国居民身份证的最后一位,ISBN号码的最后一位等。
代码作为数据在向计算机或其它设备进行输入时,容易产生输入错误,
为了减少输入错误,编码专家发明了各种校验检错方法,并依据这些方法设置了校验码。
凡设有校验码的代码,是由本体码与校验码两部分组成(如组织机构代码),本体码是表示编码对象的号码,校验码则是附加在本体码后边,用来校验本体码在输入过程中准确性的号码。每一个本体码只能有一个校验码,校验码通过规定的数学关系得到。
校验码的校验原理
系统内部预先设置根据校验方法所导出的校验公式编制成的校验程序,当带有校验码的代码输入系统时,系统利用校验程序对输入的本体码进行运算得出校验结果之后,再将校验结果与输入代码的校验码进行对比来检测输入的正确与否。如果两者一致,则表明代码输入正确,系统允许进入,如果不一致,则表明代码输入有误,系统拒绝进入,并要求代码重新输入。
算法
不同的校验码的算法常常不同。
ISO 7064:1983.MOD 11-2校验码计算法
按照中华人民共和国国家标准GB11643-1999规定
中华人民共和国公民身份号码校验码的计算方法即为ISO 7064:1983.MOD 11-2校验码计算法。
假设某一17位数字是
17位数字: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
加权因子: | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 |
计算17位数字各位数字与对应的加权因子的乘积的和S:1×2+2×4+3×8+4×5+5×10+6×9+7×7+8×3+9×6+0×1+1×2+2×4+3×8+4×5+5×10+6×9+7×7=492; 计算S÷11的余数T:492 mod 11=8; 计算(12-T)÷11的余数R,如果R=10,校验码为字母“X”;如果R≠10,校验码为数字“R”:(12-8)mod 11=4。 该17位数字的校验码就是4,聚合在一为123456789012345674。
分享到:
相关推荐
Excel 公共函数计算二代公民身份证号码末位校验码知识 通过 Excel 公共函数计算二代公民身份证号码末位校验码是基于 GB 11643-1999 和 IOS 7064 的计算规则,用于计算 18 位身份证号码的最后一位校验码。该计算规则...
内容涵盖了CRC校验码的定义、CAPL语言简介、CRC校验码计算的步骤、注意事项、CRC校验码的变体、实现细节、应用场景、优化方法、错误检测、面试题准备以及社区支持等高级知识点。 **适用人群:** 本教程适合所有准备...
strtus学习知识总结:国际化、校验码、文件上传、自定义类型转换器
本PPT学习教案主要讲解了电子电路奇偶校验码转换余三码bit二进制转格雷码电路设计的相关知识点。下面是从这个文件中生成的相关知识点: 1. 奇偶校验码转换余三码bit二进制转格雷码电路设计的基本概念 在数据通信中...
奇偶校验码(数制与码制) 在计算机科学中,数制和码制是两个相关但不同的概念。数制(Number System)是指用来表示数字的符号系统,而码制(Code)是指将信息转换为二进制数的规则。 一、数制 在计算机科学中,...
循环冗余码校验(CRC)是一种可靠性很高的串行数据校验方法。介质循环冗余码校验的基本原理,并分别用单片机和CPLD作了循环冗余码验的软件实现和硬件实现。包括汇编语言和VHDL语言源程序。
计算机基础知识点总结是一份详细的知识点总结,涵盖计算机基础知识的多个方面,包括进制表示和转换、原码、反码、补码、移码、定点数与浮点数、奇偶检验码、海明码、循环冗余校验码、与(AND)、或(OR)等逻辑运算...
校验的过程并不是仅由比较校验数据命令来完成的,而是由多个命令构成的一个流程来共同完成,PSC校验流程见图2.34。这一流程必须被精确地执行,任何变化都将导致校验失败,从而使写入/擦除操作被禁止。只要校验过程...
然后,计算校验码,采用模运算计算出校验码的值。最后,组合条码,将开始位、数据位、校验位和停止位组合成最终的条码。 在 PB 中实现 CODE128 码需要使用 PowerScript 语言编写代码。首先,需要定义变量和常量,...
本文将对中级软件设计师知识点进行总结,涵盖了计算机组成原理、计算机单位、原码、反码、补码、移码、浮点数、寻址、校验码、CISC 和 RISC、流水线、存储器等知识点。 一、计算机组成原理 计算机组成原理是计算机...
本文总结了计算机组成原理第二章的知识点,包括二进制数的表示、补码和原码的表示、定点小数的表示、8421码、余3码、2421码、二进制数的表示、海明校验码、CRC校验码、浮点数的表示等。 1. 二进制数的表示:二进制...
4、实现功能:对保存在TXT文件中的一组数据进行CRC16校验,输出校验码,并将校验码和原数据进行打包 5、涉及知识点 (1)界面、按钮和文本框显示和布局 (2)添加按钮的响应事件 (3)弹出文件选择对话框,并打开...
在这篇资源摘要中,我们将对 NOI 数学相关知识点进行整理和总结,涵盖了格雷码、奇偶校验码、二进制码、独热码、BCD 码、数字逻辑电路、欧拉定理和欧拉函数等多方面的内容。 一、格雷码 * 格雷码的定义和特点:...
为了提高实际通信中检查信号传输错误的能力,提高和推广CRC校验技术,本论文用逻辑代数知识、按模运算、代数知识和C语言编程工具设计了几种具体实用的CRC校验码的计算方法,这些方法可以应用到实用的数据检错工程中...
本资源是计算机组成原理四版白中英部分答案,涵盖了计算机组成原理的主要知识点,包括十进制数原码补码反码、浮点数表示、海明校验码、浮点数运算等。 一、十进制数原码补码反码 * 十进制数的原码、补码、反码是...
全国软考网络工程师考试,我自己复习时,总结出来的关于路由器,交换机配置,以及海明码,CRC校验码等知识点和题目的总结
居民身份证号码,根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字...
本资源主要介绍了条形码的基本知识和应用,涵盖了EAN、ITF、CODE 39、CODABAR、CODE 128、GS1-128等多种条形码类型的结构、特征、应用和校验位计算等方面的知识。 第一章 条形码基本知识 * 条形码结构:条形码由窄...
本课程设计报告书的主要目的是设计一个基于 C51 单片机的电子密码锁系统,旨在提高学生对单片机基础知识的理解和应用能力。该课程设计报告书涵盖了硬件电路图设计、PCB 制版、软件编程设计、系统调试等多个方面,...
CPU基础知识IC卡从接口方式上分,可以分为接触式IC卡、非接触式IC卡及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡及CPU卡。非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础...