Luhn算法是快速验证用户是否正确输入CC#的好方法。
但是,我担心可能有一部分主流信用卡不使用Luhn算法友好数字。
我确实已经在我们的应用程序中登录以检测所有Luhn算法拒绝中的模式,但我宁愿明确地知道。
答案 0 :(得分:13)
几乎。
中国银联和一种大莱卡(enRoute)不使用Luhn验证。 ( LazyOne’s answer关于大来俱乐部是错误的。)
几乎所有人都这样做。
引用Wikipedia's 'Bank card' page:
根本没有验证:
使用Luhn 2进行验证:
答案 1 :(得分:5)
是 - 适用于所有主流卡类型。
我有一个自定义的PHP类来处理从各种“验证卡号”编译的卡数据,以及来自少数编程语言的相同功能+来自维基百科的信息。一些支付处理系统。它成功验证了这些卡类型的测试卡号(每个支付系统都有这些号码):
答案 2 :(得分:3)
LUN检查适用于大多数信用卡。它是一个模数10校验位系统,以保证卡号已被准确读取/记录(磁条,虚拟终端或手动卡打印机过去的手动输入)。
在手动数据输入的时代,这些检查系统用于确保准确输入UPS的皮卡簿编号系统等密钥(模数7校验位)。
它甚至用在像代码128这样的条形码系统中,它需要将一个模数103位添加到编码数据字符串中,以验证代码是否被正确读取。