校验和是一个数字。它是一种冗余检查。有不同的方法来计算它。它的作用是检查,在写下数字时没有错误。在其最简单的形式,数字被简单地加起来。然而,这不能检测出数字交换的错误。更好的计算校验和的方法(算法)是使用汉明码、循环冗余检查或模块算术。校验和的用途之一是检查账号是否输入正确。
葡萄牙银行账户识别码是一个很好的例子,说明了校验码是如何工作的。它们有21位数字。前19位数字是银行、分行和账号的识别码。最后两位数字是基于模块运算的"mod 97"校验和数字。一个典型的葡萄牙银行账号是0002.0123.12345678901.54。这些数字有以下含义:
· 数字"0002"代表银行。
· 数字"0123"代表银行的分支机构。
· 数字"12345678901"代表账号。
· 数字"54"代表校验和。
如果将000201231234567890154(没有点的银行账号)除以97,答案是207458809978249余数1。因为余数是"1",所以银行账户识别码可能是正确的。如果写数字的人漏写了一个数字,把两个数字调换了,或者写错了一个数字,那么余数就不会是"1"。如果是这种情况,那么电脑应该会检测到一个错误,并给出一个错误信息。
另一个使用校验和的地方是计算机软件的序列号。

