Luhn算法

✍ dations ◷ 2025-10-11 02:57:11 #同余,校验和算法,错误检测与校正

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。

相关

  • 印第安战争法兰西王国 (1622–1763)英格兰 (1622–1707)大英帝国 (1622–1867)美国 (1783–1924)北美印第安战争(英语:American Indian Wars)是在美国和加拿大用来描述一系列的美国和加拿
  • 阿尔弗雷德·冯·提尔皮茨阿尔弗雷德·冯·提尔皮茨(德语:Alfred von Tirpitz,1849年3月19日-1930年3月6日)是一名德意志帝国海军元帅,也是第一位德国海军元帅。是帝国海军“公海舰队”的建设者,在担任德国
  • 核糖体蛋白核糖体蛋白质(Ribosomal Protein,简称“核糖体蛋白”或“RP”)是参与构成核糖体的所有蛋白质的统称。由于核糖体蛋白质需要高浓度的盐溶液和强解离剂(如含高浓度Mg2+的67%的CH3C
  • 黄浦江死猪漂流事件黄浦江死猪漂流事件是指自2013年3月初起,在黄浦江上海松江段,打捞起数千头高度腐败的死猪的水污染事件。3月初,中国大陆各大网站开始关注此事件,3月9日的新闻称,死猪并未影响到当
  • 古希腊经济在古希腊的经济中,由于希腊贫瘠的土地,农业极其重要.到了公元前6世纪,工艺和贸易(主要是海上贸易)开始发展,然后变得重要。经济这个概念在古希腊跟现代并不相同。 希腊语oikonomia
  • AZUKI七AZUKI七(1974年7月29日-)是日本的作词家、键盘手、诗人。女性。血型是AB型。1998年至2013年间,以GARNET CROW成员身份为主。AZUKI七是她的艺名,原名菅谷りえ(すがたに りえ)。至于
  • 李铎 (朝鲜)李铎(朝鲜语:이탁/李鐸,1509年5月13日-1576年2月9日),字善鸣,朝鲜王朝中期文臣。本贯全义李氏。1531年通过进士试,1535年文科及第,任权知副正字。1542年,历任正言、佐郎、持平。后与洪
  • 艾虎生艾虎生(1951年-),河南省禹县(今禹州市)方山镇人。中国人民解放军中将。中国共产党第十七届、十八届中央委员会候补委员。艾虎生于1967年参加中国人民解放军,此后历任中国人民解放军
  • 林日成林日成(?-1865年2月6日),又叫林日晟,清代台湾民变戴潮春事件领导人之一。1862年4月3日,台湾兵备道道员孔昭慈在彰化命原任彰化知县的淡水厅同知秋曰觐协助扫荡八卦会,秋曰靓另募林奠
  • 波兰大学列表这是波兰大学列表。在2010年,波兰约有500所大学和大学级的高等教育学院,当中包括131所资助大学和326所私立大学,共有约二百万个注册学生。根据波兰国会2011年3月18日的法案,大学