Luhn算法由IBM的Hans Peter Luhn发明,又称为“模10”算法,是一种简单的校验和算法,用来验证识别号,比如信用卡号、IMEI号、社会保险号等。它的算法简单,并只采用最后一位数字作为校验位,可以有效防止偶然的输入性错误。Luhn算法只能用于简单的校验,不能用于加密算法,当然,这也不是该算法的目的。Luhn算法可以检测到以下输入性错误:所有的单位数字错误,如210写作215;能检测到绝大多数的临位错位,比如315写作351,但是只有两位的情况下无法检测,比如09写作90;能够检测双数字写错10种的7种,比如11写为22,但是有3种无法检测,如22和55、33和66、44和77。