参考:Luhn AlgorithmLuhn算法是否适用于所有主流信用卡? (Discover,Visa,Mastercard,Amex)
Luhn算法是快速验证用户是否正确键入其CC#的好方法。
但是,我担心可能有一部分主流信用卡不使用Luhn算法友好数字。
我确实在我们的应用程序中记录了所有Luhn-Algorithm-Rejections中的模式,但我宁愿明确地知道。
参考:Luhn AlgorithmLuhn算法是否适用于所有主流信用卡? (Discover,Visa,Mastercard,Amex)
Luhn算法是快速验证用户是否正确键入其CC#的好方法。
但是,我担心可能有一部分主流信用卡不使用Luhn算法友好数字。
我确实在我们的应用程序中记录了所有Luhn-Algorithm-Rejections中的模式,但我宁愿明确地知道。
差不多。
中国银联和一种大莱卡(enRoute)不使用Luhn验证。 (LazyOne’s answer关于大莱卡错了。)
几乎所有人都这样做。
援引Wikipedia's 'Bank card' page:
完全不验证:与卢恩2
验证:
是 - 适用于所有主流卡类型。
我有一个自定义的PHP类来处理从各种“验证卡号”和类似的功能从少数编程语言+维基百科&一些支付处理系统的信息编译的卡数据。它成功地验证测试卡号码(每个支付系统有几个这样的号码),这些卡类型:
这是不正确的。 Diners Club enRoute不使用Luhn。 –
的LUN检查适用于大多数信用卡。这是一个模数10校验位系统,以确保卡号已被准确读取/记录(手动卡片打印机旧版本中的磁条,虚拟终端或手动输入)。
回到手动数据输入的日子,这些检查系统用于确保像UPS的皮卡书号系统这样的按键被准确输入(模数7校验位)。
它甚至用于条形码系统,如代码128,需要将模数103数字添加到编码数据字符串中,以验证代码是否正确读取。
如果其他答案都认为它不适用于所有卡片,则可能需要更改第一句。 –
最初问题的关键词是“主流卡片”......中国银联和大莱俱乐部enRoute的奇怪子集似乎不属于“主流”,因此,LUHN将验证“主流卡片”/ – 2015-07-29 15:52:11
是的,并且那些是两张非常普通的信用卡,但不在美国。感谢您的贡献;请祝你有美好的一天。 –
维基页面自您的回答后发生了变化。现在银联似乎也使用Luhn算法来验证卡号。除了维基百科的文章外,我没有其他来源,在2015年3月这一点已经改变。 – reSPAWNed