Luhn算法

✍ dations ◷ 2025-07-01 07:37:22 #同余,校验和算法,错误检测与校正

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。

相关

  • 易感个体易感个体(英语:susceptible individual)在流行病学中是指人群中容易感染疾病或暴露于致病因子下但不能服用某些特定药物(如抗生素)的个体。易感个体在暴露于野毒株或接种相应的疫
  • 水体富营养化水华(Water bloom)或藻华(Algal bloom),通常为学术所称“水体富营养化”而造成,是发生在淡水中,由水体中氮磷含量过高导致藻类,细菌或浮游生物突然性过度增殖的一种自然现象,同时也
  • 柯克兰柯克兰(英语:Kirkland;另译为科克兰)是位于美国华盛顿州金郡的城市,坐落于华盛顿湖东岸,为美国西岸大城西雅图的卫星都市。2010年美国人口普查时人口为48,787人,是金郡第9大城、以
  • 华盛顿县 (马里兰州)华盛顿县(Washington County, Maryland)是美国马里兰州西部的一个县,北邻宾夕法尼亚州,南邻维吉尼亚州。面积1,211平方公里。根据美国2000年人口普查,共有人口131,923。县治黑格
  • 华尔 (北欧神话)华尔,(Vár,Var)北欧神话中的女神,掌管誓言。她是女神弗丽嘉(Frigg)的侍女之一。一般皆认为,这些低阶女神都是她部分性格的化身。她是名字是“誓约”的意思,不论诸神、巨人等凡是发誓
  • 我知道你去年夏天干了什么《我知道你去年夏天干了什么》(英语:),是1997年吉姆·格莱斯皮执导的美国砍杀电影,取材于钩子人的都市传说,根据露易丝·邓肯(英语:Lois Duncan)1973年同名小说改编而来。故事始于199
  • 卓克华卓克华(1882年12月10日-1962年9月17日)又名卓凯华,本名莫勒斯旺·拉姆昌德拉·卓克(Moreswon RamChandra Cholkar),出生于印度浦那,印度医生、胸外科专家,曾为印度援华医疗队副队长。
  • 东方草莓东方草莓(学名:)为蔷薇科草莓属的植物。分布在朝鲜、俄罗斯、蒙古以及中国大陆的黑龙江、山西、辽宁、吉林、陕西、内蒙古、青海、甘肃、河北等地,生长于海拔600米至4,000米的地
  • 史波勒极小期史波勒极小期是在1420年至1570年(亦有一说是1450年至1550年)的一个太阳活动低潮期。这段发生在开始观测太阳黑子之前的现象,是经由分析与太阳活动有强烈关联的树木年轮中碳-14
  • 德 (消歧义)德,在汉语中可以指代一种道家思想。德也可指: