【发布时间】:2011-10-22 21:11:30
【问题描述】:
Luhn 算法是一种快速验证用户是否正确键入其 CC # 的好方法。
但是,我担心可能有一部分主流信用卡不使用 Luhn 算法友好的数字。
我确实在我们的应用程序中进行了登录,以检测所有 Luhn-Algorithm-rejections 中的模式,但我宁愿确切地知道。
【问题讨论】:
标签: e-commerce
Luhn 算法是一种快速验证用户是否正确键入其 CC # 的好方法。
但是,我担心可能有一部分主流信用卡不使用 Luhn 算法友好的数字。
我确实在我们的应用程序中进行了登录,以检测所有 Luhn-Algorithm-rejections 中的模式,但我宁愿确切地知道。
【问题讨论】:
标签: e-commerce
差不多了。
中国银联和一种大来卡 (enRoute) 不使用 Luhn 验证。 (LazyOne’s answer 关于 Diners Club 的说法有误。)
几乎所有其他人都这样做。
引用Wikipedia's 'Bank card' page:
根本不验证:
使用 Luhn 2 验证:
【讨论】:
是的 -- 它适用于所有主流卡类型。
我有一个自定义 PHP 类来处理从各种“验证卡号”编译的卡数据以及来自少数编程语言的类似函数 + 来自维基百科和一些支付处理系统的信息。它成功验证了这些卡类型的测试卡号(每个支付系统都很少有这样的卡号):
【讨论】:
LUN 检查适用于大多数信用卡。它是一个模数 10 校验位系统,以保证卡号已被准确读取/记录(磁条、虚拟终端或手动卡打印机旧时代的手动输入)。
在手动数据输入的时代,这些检查系统用于确保正确输入 UPS 的取件簿编号系统等密钥(模数 7 校验位)。
它甚至用于条码系统,如代码 128,需要在编码数据字符串中添加一个模数 103 数字来验证代码是否被正确读取。
【讨论】: