什么是Luhn算法
Luhn算法是用于验证信用卡号或其他标识号(例如,社会安全号)的算法。 Luhn算法(也称为Luhn公式或模数10)检查卡号中数字的总和,并指示该总和是否等于期望的数字或数字序列中是否有错误。 在通过算法工作之后,如果总模量10等于零,则根据Luhn方法,该数字有效。
尽管该算法可用于验证其他标识号,但它最常与信用卡验证相关联。 该算法适用于所有主要信用卡。
分解Luhn算法
信用卡验证过程要求企业和信用卡公司能够几乎即时地加密和解密有关卡,发行人和持卡人的敏感财务信息。 信用卡交易量使该过程变得复杂,并且交易的当事方都在寻找方法来限制尽可能多地验证交易所需的资源量。 他们可以加快验证过程的一种方法是使用Luhn算法。 随着越来越多的在线交易完成,数据泄露更容易发生,Luhn算法特别有用。
Luhn算法的目的不在于保护信用卡交易中涉及的各方的安全,而在于检查卡号传输中的错误。 例如,持卡人在线购物时可能输入错误的数字。 该算法不仅要检查整个数字验证过程是否确定输入了错误的数字,还检查了过程中的数字并在错误时返回错误消息。
为了确定信用卡号是否有效,首先计算所有数字的总和,而不是校验数字,以找到单位数字。 所得和的单位位数与数字十之间的差是估计的校验位数。 如果估计的校验位和实际的校验位相同,则卡已通过验证。
鲁恩算法的历史
LUHN公式算法实际上是由一组数学家在1960年代开发的。 在构思之后,该算法最初被信用卡公司采用。 但是,由于该算法被视为公共领域,因此从理论上讲,任何人都可以访问和使用它。