卢恩算法
什么是 Luhn 算法?
Luhn 算法也称为“模 10 算法”,是一种用于确定用户提供的标识号是否准确的公式。该公式广泛用于验证信用卡号码以及其他数字序列,例如政府社会安全号码 (SSN) 。
今天,Luhn 算法是电子支付系统的重要组成部分,被所有主要信用卡使用。
Luhn 算法的工作原理
LUHN 公式算法是由德国计算机科学家 Hans Peter Luhn 于 1954 年在 IBM 担任研究员时开发的。该算法的确切工作原理基于模块化算术,这是一种由卡尔·弗里德里希·高斯在 19 世纪初开发的数学技术。虽然它的详细工作相当复杂,但它最出名的是允许计算机快速评估客户提供的信用卡号码是否准确。
它这样做的方法是对给定的信用卡号应用一系列计算,将这些计算的结果相加,并检查结果数字是否与预期结果匹配。如果是,则信用编号被视为有效。如果不是,算法将拒绝信用卡号码,说明用户输入号码时出错。
从客户的角度来看,我们一直在使用 Luhn 算法,甚至没有意识到这一点。在线下订单或使用商家的销售点 (POS) 终端时,计算机系统能够快速判断我们何时输入信息有误。这是因为 Luhn 算法已被纳入这些系统的编程中。如果没有它,我们将需要等到整个采购订单提交后才能知道交易是否被批准。换句话说,Luhn 算法帮助我们快速识别用户错误,从而加快交易速度。
Luhn 算法的真实示例
Luhn 算法的核心概念之一是使用所谓的“校验位”。这些数字由插入到更广泛的数字序列中的数字组成,以帮助验证或“检查”整个数字是否真实。
对于信用卡,校验位由印在信用卡号末尾的单个数字组成。校验位不是由信用卡公司专门选择,而是由 Luhn 算法根据序列中的前面数字自动确定。当用户输入他们的信用卡号码以完成交易时,支付处理软件可以使用 Luhn 算法来检测指定号码是否准确,部分基于其校验位。
如今,Luhn 算法已集成到流行的编程语言和代码库中,使得在新的软件应用程序中包含基于 Luhn 的识别号验证变得相对容易。
## 强调
Luhn 算法是 1950 年代后期开发的数学公式。
在金融领域,它通过快速识别错误输入的信用卡号码来帮助增加电子支付处理。
广泛用于验证身份证号码的真实性。