大家晚上好,我构建了一个简单的Java
程序,使用Luhn's algorithm / (mod 10)
验证信用卡号。对于为什么使用这个公式是正确的,我找到了很多解释,但仍然没有完全理解。有人能向我解释一下为什么这是一个很好的验证公式吗?
这只是因为所有公司都同意遵循这个公式,如果不遵循Luhn格式,他们就不允许任何信用卡/银行账户存在。
这样做的原因是为了限制人为失误的可能性。
如果你犯了一个拼写错误,它将不会通过Luhn-alghoritm。为什么只有一个打字错误?因为它是mod 10
,如果你对一个数字拼写错误,那么从1
到9
的区别就是mod 10
覆盖了它
如果你把两个数字打错了,而且运气不好(只有10%的组合是有效的,所以有10%的机会(,你无论如何都可能把钱寄错账户。