Luhn算法

Luhn算法或Luhn公式也叫“模10算法”。它是一个简单的验证公式,一般用于验证银行卡、身份证号、IMEI号、美国供应商识别号或加拿大社会保险号。该算法由来自IBM的科学家汉斯·彼得·鲁恩(Hans Peter Luhn)创建,专利申请提交于6月6日,1954。

算法特性:

1.从卡号的最后一位开始,将偶数乘以2。如果乘以2的结果是两位数,则从结果中减去9。

2.把所有的数字加起来得出总数。

3.如果数字是合法的,总和可以被10整除。(模10算法)

算法比较简单,就不多解释了。

如果读者需要验证银行卡号的合法性,需要更详细的结果,可以使用阿里的免费API:

返回格式如下:

从卡号分析中获取银行名称也可以自己实现,但是需要银行卡号开头的数字的相关数据,在网上可以查到。