Luhn算法

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

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。

相关

  • 深部静脉栓塞深静脉血栓是在深静脉形成的血栓,常形成于下肢或骨盆部位深处的静脉。有时也形成于上肢的静脉(这被称为Paget-Schrötter综合症(英语:Paget–Schroetter disease))。近期接受外科
  • 同步加速器同步加速器(英语:Synchrotron)是一种环形的粒子加速器,使用磁场(让带电粒子在运行中可以改变方向)及电场(加速带电粒子)与运行中的带电粒子束同步化操作。本是由阿尔瓦雷茨发展用以
  • 蜥蜴蜥蜴(学名:Lacertilia)是对属于有鳞目蜥蜴亚目的物种的总称,是一群分布广泛的爬行动物,有超过六千个物种。蜥蜴在全球除了南极洲以外的大陆上均有分布,此外也生活在大洋洲的岛链上
  • 圣母无原罪主教座堂圣母无原罪主教座堂位于台湾台北市大同区,为天主教台北总教区的主教座堂,也是台北市首座天主教堂;由于座落于民生西路,亦名民生西路天主堂。教堂附设有一幼稚园,教堂建地并与同为
  • 红背蝾螈红背蝾螈(学名:Plethodon cinereus)是一种细小的无肺螈属。它们栖息在北美洲东部,西至密苏里州,南至北卡罗莱纳州,北至魁北克南部及加拿大至明尼苏达州沿海省份。它们主要有两种颜
  • 辛德曼堡战役参数所指定的目标页面不存在,建议更正成存在页面或直接建立下列一个页面(建立前请先搜寻是否有合适的存在页面可以取代):阿肯色波斯特战役(Battle of Arkansas Post),或称辛德曼堡
  • 斯内克河斯内克河(英语:Snake River,也译作蛇河),是美国西北部一条主要河流,也是哥伦比亚河最大的支流。斯内克河发源于怀俄明州黄石公园附近,向西流经斯内克河峡谷进入爱达荷州。由东向西
  • 魁北克 (1763–1791)魁北克 (1763–1791)是加拿大历史上存在于1763年到1791年的英属北美殖民地的名称。魁北克(Québec)这个名称源自于阿尔冈昆语词汇“kébec”,意指河川收窄之处,传统上是指魁北克
  • 长翼蝠属长翼蝠属(学名:Miniopterus)是哺乳纲翼手目长翼蝠科的一属。
  • 范秀英范秀英(1892年4月11日-2008年3月30日),女,中国四川省重庆市南岸区南坪七村人,祖籍安徽省合肥县,享寿115岁353天,在世时为中国及世界最年长者(未经国际组织认可) 。