Luhn算法

✍ dations ◷ 2025-07-06 06:25:17 #同余,校验和算法,错误检测与校正

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。

相关

  • 趾甲指(趾)甲,亦称指(趾)盖、指(趾)甲盖、指(趾)头盖等,分为手指甲(简称手甲)或脚趾甲(简称脚甲),是哺乳类动物长于肢体指前端的由皮肤角质层硬化的一层硬物,指(趾)甲的作用是保护末节指腹避免受损
  • 郭 雷郭雷(1961年11月1日-),山东淄博人,中华人民共和国控制科学家。1982年,自山东大学数学系毕业,获得学士学位。1984年,自中国科学院系统科学研究所毕业,获得硕士学位。1987年,自中国科学
  • 土地使用分区土地使用分区或土地使用区划(英语:Zoning)指的是政府将土地划分成不同类型,并规定各分区类型的允许用途。例如市政府将土地分成住宅区、商业区、工业区、政府用地等。土地使用
  • 米线米线是对一种源自中国内出产的精制餐食,《食次》与《齐民要术》、《隋书》中“粲”条目有记述其制程,现制程繁复各地独立发展,光云南蒙自就有酸浆和干浆两种米线;以新鲜大米为原
  • 突尼斯 (城市)突尼斯(阿拉伯语:تونس‎;法语:Tunis)是北非国家突尼斯的首都,也是突尼斯省的省会。突尼斯是该国最大的城市,位于突尼斯北部的突尼斯湾(Gulf of Tunis,本身是地中海的一部分)内,市区
  • 古风野牛古风野牛(学名:Bison antiquus)是1万年前更新世晚期时北美洲最普遍的大型草食性动物,且是现存美洲野牛的直接祖先。西伯利亚野牛于更新世冰河时期(大约 240,000 至 220,000 年前)
  • 蒙彼利埃大学朗格多克-鲁西永大学 蒙彼利埃大学 (法语:Université de Montpellier) 成立于1289年,是世界上最古老的大学之一,大学地位由教皇尼古拉四世授予。校园位于法国南部朗格多克-鲁
  • 原甲酸三甲酯原甲酸三甲酯(Trimethyl orthoformate)是最简单的原酸酯,在有机合成中作为一种为醛引入保护基的试剂,与醛反应生成缩醛。原甲酸三甲酯工业上由甲醇与氢氰酸反应制备。
  • 回家的路 (电影)《回家的路》(韩语:집으로 가는 길,英语:)是一部2013年上映的韩国电影,改编自真实事件。剧情讲述一名韩国平凡主妇在法国奥利机场涉嫌毒品走私,之后被关在马提尼克岛的监狱,丈夫为了
  • 华新站华新站是深圳地铁3号线与7号线的一个换乘站。位于中国广东省深圳市福田区红荔路与华强北路交叉路口处,沿红荔路东西向布置。华新站为半地下车站,共三层,大堂位于地下一层,3号线