Luhn算法

✍ dations ◷ 2025-11-28 04:23:53 #同余,校验和算法,错误检测与校正

Luhn算法(Luhn algorithm),也称为“模10”(Mod 10)算法,是一种简单的校验和算法,一般用于验证身份识别码,例如发卡行识别码、国际移动设备辨识码(IMEI),美国国家提供商标识(英语:National Provider Identifier)号码,或是加拿大社会保险号码(英语:Social Insurance Number)。该算法由IBM科学家Hans Peter Luhn(英语:Hans Peter Luhn)创造,专利于1954年1月6日申请,1960年8月23日颁证,美国专利号2950048。

该算法现已属于公有领域并得到了广泛的应用,例如ISO/IEC 7812-1。它不是一种安全的加密哈希函数,设计它的目的只是防止意外出错而不是恶意攻击。

Luhn算法会通过校验码对一串数字进行验证,校验码通常会被加到这串数字的末尾处,从而得到一个完整的身份识别码。

我们以数字“7992739871”为例,计算其校验位,设校验位为X并添加至数列末位,即7992739871X:

另一种方法是:

Luhn算法可以发现某一位的错误。Luhn算法几乎可以发现所有由于邻位上数字被交换产生的错误。但是,它只能发现数字交换产生的错误中的7/10,不会发现22 ↔ 55, 33 ↔ 66 或 44 ↔ 77。

相关

  • 人类免疫不全病毒人类免疫缺陷病毒(英语:human immunodeficiency virus,簡稱HIV,又称艾滋病毒)是一种感染人类免疫系统细胞的慢病毒,属逆转录病毒的一种。普遍认为,人类免疫缺陷病毒的感染导致艾滋
  • Holliday交叉Holliday交叉(Holliday junction)是四股DNA所形成的交叉结构,名称来自此于1964年提出此概念者Robin Holliday,用以解释发现于酵母菌的遗传资讯交换,也就是同源重组。目前遗传学上
  • 英国国会政治主题大不列颠及北爱尔兰联合王国议会(英语:The Parliament of the United Kingdom of Great Britain and Northern Ireland),中文简称为英国议会或联合王国议会,是英国和英国
  • 鞍点一个不是局部极值点的驻点称为鞍点。广义而说,一个光滑函数(曲线,曲面,或超曲面)的鞍点邻域的曲线,曲面,或超曲面,都位于这点的切线的不同边。参考右图,鞍点这词语来自于不定二次型
  • 中国大陆第1位中国地级市人均地区生产总值列表收录各主要年份中华人民共和国地级行政区的人均地区生产总值(人均GDP)。
  • 薛居正薛居正(912年-981年),字子平,开封府浚仪县(今河南省开封市)人,北宋名臣、史学家。父薛仁谦是后周太子宾客。薛居正早年科举不顺,只好写《遣愁文》以自解,逾年,登第。后晋天福年间,华州节
  • 日本四大污染病日本四大公害病(日语:公害病/こうがいびょう  */?;“公害”即污染)指的是日本在高度经济发展期,由产业活动所排出的有害物质而引起的疾病。被列举出的有因大气污染所造成的哮喘
  • 刘英娥刘英娥(420年代-452年),是中国南北朝宋文帝刘义隆嫡女,母亲是皇后袁齐妫。刘英娥封为东阳公主,《资治通鉴》作武康公主。她嫁给了王昙首的儿子王僧绰。王僧绰出自琅琊王氏,官至侍中
  • 佩吉·卡特佩吉·卡特(英语:Peggy Carter;全名玛格丽特·“佩吉”·卡特,英语:Margaret "Peggy" Carter),是漫威漫画中的虚拟人物,通常为美国队长漫画书中的配角,由作家斯坦·李和艺术家杰克·
  • 1920年爱尔兰政府法令《1920年爱尔兰政府法令》(英语:Government of Ireland Act 1920)是一项国会法令。该法令的全名是《一项提供爱尔兰更好政治体制的法令》(An Act to provide for the better gov