Luhn算法:信用卡卡号的验证工具
Luhn算法:信用卡卡号的验证工具
导读:
信用卡卡号是怎么验证的?我们对于该算法在信用卡卡号验证上的实际应用展开一定的讨论。
一、问题引入
在各类机构企业、公司管理的过程中,信用卡卡号不正确的情况不可避免的发生,会导致在管理过程中的诸多不便。单位中因公务卡信用卡卡号不正确而无法及时还款的情况时有发生。即使在这其中增加校对等检验环节,也难以避免出现错误的产生。利用Luhn算法并通过计算机程序的办法,对输入的信用卡卡号进行自动校对,及时发现错误,不仅有利于提高信用卡卡号准确性,同时也有利于提高办事效率。
二、技术手段
2.1信用卡卡号的定义标准
根据中华人民共和国金融行业标准银行卡发卡标识代码及代号(Bankidentification number and card number for bank card)的规定,标识发卡机构和持卡人信息的号码由发卡行标识代码、自定义位和校验位组成。银行卡的卡号长度及结构符合ISO 7812-1有关规定,由13-19位数字表示。
2.2 Luhn算法
关于Luhn算法的描述内容,详见上一篇文章《》里的叙述,再次不再复述了。
三、简单的程序方案设计
实际上报表均采用Office软件中的Excel来完成,利用Office本身自带的VBA(Visual Basic for Applications)及Excel公式可以很快地实现Luhn算法,并应用效率会更高。
根据上一篇文章对于Luhn算法的描述,可以通过Excel VBA或导入公式的途径,实现对信用卡卡号的验证。
3.1 VBA方法
应用VBA实现Luhn算法代码如下图所示:
3.2 Excel方法
在 Excel 中应用公式法实现Luhn 算法,相对 VBA 代码可读性较清晰。 但对大量数据进行公式的填充处理时,操作性较差。详细方法如下图所示:
四、小结
1、利用 Excel VBA 和 Excel 公式验证的方式, 成功解决了由于银行卡号填写错误而引起诸多问题,从一定程度上减轻了工作人员的工作量,提高了工作效率。在实际应用ExcelVBA 和Excel公式两种方式进行验证操作过程中,应依据其各自优缺点, 具体问题具体分析,选择合适的方法。
2、在实践过程中不难发现,Luhn算法几乎可以发现所有由于邻位上数字被交换产生的错误。但它只能发现数字交换产生的错误中的7/10,不会发现22~55, 33~66 或 44~77。这是该算法其中一个缺点,但一般情况下该算法还是可以能够保证足够高的准确度。
信用卡逾期问题,添加微信号:
回复“信用卡逾期”
相关推荐: