校验位是错误检测方法的一个组成部分。它可以指两件事中的一个,即与一个多位数相关联的实际数字,它表示该多位数数字是否准确。或者,校验位是指用于测试数据集合或数据块准确性的度量标准,而不是一个数字。不管怎样,这种类...
校验位是错误检测方法的一个组成部分。它可以指两件事中的一个,即与一个多位数相关联的实际数字,它表示该多位数数字是否准确。或者,校验位是指用于测试数据集合或数据块准确性的度量标准,而不是一个数字。不管怎样,这种类型的冗余校验的过程可以称为校验位计算或校验位算法。校验位法可以采用多种不同的方法,在国际上用于许多不同的目的。一些使用校验位的常用编号或编码系统包括通用产品代码(UPC)和国际标准书号(ISBN)等。

UPC代码,如本产品标签底部所示的代码,包括校验位校验位用于捕捉数据输入中常见的特定类型的错误,无论该数据是由同一个人在键盘或电话键盘上读取和输入的,还是数据是由一个人读取并由另一个人输入的尊重是简单地输入一个不正确的数字。这占所有数据错误的60%到95%。排在第二位的是一方面省略或添加一个单一数字,另一方面是转移相邻的数字。其他可能的错误,但发生的频率要低得多,包括颠倒三位数的顺序,例如,将
123输入为
321;以及语音错误,混淆16和60

Mod 10,用于借记卡和信用卡号码,在末尾包括一个校验位。校验位实际上可以加到它们要检查的号码上。在车辆识别号(VIN)中,有17个字符,校验位在第九位。在13位ISBN编号中,校验位作为第13位数字出现在末尾。通常有几种不同的算法用于计算校验位,同样的算法在国际上并不总是用于同样的目的,例如由科学家汉斯·彼得·卢恩(Hans-Peter Luhn)开发并以其命名的算法,也被称为Mod 10,是在美国用于信用卡和借记卡号码的公式,在加拿大用于社会保险号码(SIN)验证的公式。Luhn算法也用于国际欧洲商品编号(EAN13)条形码,而另一个公式,Mod11,用于德国的一些条形码和澳大利亚的纳税申报编号(TFN)。Luhn公式将校验位固定在所验证的数字的末尾。从右到左,包括校验位,每个第二位数字都将加倍如果两位数中的任何一位变成了多位数,那么这些多位数的各个数字相加,剩下的数字相加如果得到的和可以被10整除,那么根据Luhn公式,多位数是有效的。如果得到的和不能被10整除,则会加上一个校验位,使得到的和可以被10整除。因此,如果要验证的数字是1234,那么没有在末尾加上6的校验位就无效这是因为(1+1)+2+(3+3)+4=14,不能被10整除。然而,加上一个校验位6将使得到的和可被10整除,因此根据Luhn公式有效。在澳大利亚,有人试图将支票数字用于第二个目的,即限制人们为税务目的伪造有效数字的能力。尽管政府努力对支票数字算法保密,但人们还是能够弄清楚并继续伪造与税务有关的号码。