Luhn算法

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

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。

相关

  • 图像处理small/small图像处理是指对图像进行分析、加工、和处理,使其满足视觉、心理或其他要求的技术。图像处理是信号处理在图像领域上的一个应用。当前大多数的图像均是以数字形式存储,因而图像
  • 哈布斯堡哈布斯堡王朝(德语:Habsburg),也称哈普斯堡家族(Hapsburg),是欧洲历史上最为显赫、统治地域最广的王室之一。其家族成员曾出任罗马人民的国王和神圣罗马帝国皇帝(1273年—1291年,1298
  • 城市建造游戏城市建造游戏是一种策略类型的电子游戏,玩家扮演城市总体规划与领导者的角色,以俯视的视角观览城市,并负责城市的经营发展与管理。玩家仅控制建筑配置与城市特色管理(例如政府员
  • 久效磷久效磷(英语:Monocrotophos)是一种有机磷杀虫剂,对人和鸟类也具有毒性。作为一种持久性有机污染物,已在美国等一些国家禁止使用。久效磷主要用于农业,且是一个相对便宜的农药。然
  • 白三烯B4白三烯B4(英语:Leukotriene B4)是一种与炎症反应有关的白三烯类物质。它由响应炎症介质的白细胞产生,让白细胞活化并依附在内皮上,允许其穿过组织。在中性粒细胞中,它也是一种强效
  • 大卫·尼文大卫·尼文(James David Graham Niven ,1910年3月1日 - 1983年7月29日),英国演员与作家,曾获得奥斯卡最佳男主角奖。在第二次世界大战期间拍摄了两部电影,并在铜头蛇行动中执行了
  • 咆哮哥咆哮哥事件为一名名为彭晖的广州市法制办公室公务员(行政复议处立案小组的普通科员)。2010年6月18日,网友“厦门浪”(王先生)在人民网地方领导留言板发表《广州市府公务员如此咆
  • NetHackNetHack是一款最初在1987年发布的Roguelike单人游戏,拥有由ASCII字符组成的图形界面。它继承了Hack(英语:Hack_(video_game))(1985年)及更早的Rogue(1980年)。游戏名字中的“网络”(N
  • 冯培元冯培元(1815年-1853年),字因伯,浙江仁和县(今属杭州市)人。咸丰初年官至湖北学政、光禄寺卿。太平军攻占武昌后,投井自尽。冯培元自幼丧父,由母何氏抚养成人。道光二十四年(1844年),冯培
  • 长度 (模论)在数学中,设 A {\displaystyle A} 。例如不可约的向量空间(视为域或除环上的模)是一条直线。对于单模,我们只可能造出一种严格递增的子模链: