神奇的银行卡校验位
银行卡的最后一位数字是校验位,用于验证银行卡的有效性。谁要是转账时输错卡号能转到其他人账户,这运气和RP无法形容了。还有一些人在同一柜员处连着开卡,发现银行卡不是连号,以为是工作人员随机拿的卡,其实把最后一位校验数字忽略是连号的。
银行卡用的是Luhn检验数字算法,也叫做模数10公式,是一种简单的算法
银行卡校验过程
1、从卡号最后一位数字开始,逆向将奇数位相加。
2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。
3、将奇数位总和加上偶数位总和,结果应该可以被10整除。
例如,卡号是:5432123456788881
则奇数、偶数位(红色数字)分布:5432123456788881
奇数位数字是 4 2 2 4 6 8 8 1 求和=35
偶数位乘以2(乘积为两位数要减去9)的结果:1 6 2 6 1 5 7 7,再求和=35。
最后35+35=70可以被10整除,认定校验通过
大家可以拿自己的卡算算,肯定都能被10整除