注册 登录
彩龙社区 返回首页

赵先方的个人空间 http://blog.clzg.cn/?4525911 [收藏] [复制] [分享] [RSS]

日志

如何根据银行卡号判断卡的真伪

已有 374 次阅读2017-10-12 18:14 |个人分类:杂谈|系统分类:彩龙博客

该算法是IBM公司的彼得·卢恩(Peter Luhn)于1954年设计的一个校验和(checksum)算法,来检测在实际操作中最常见的两种错误:单个数字错误、由于两个数字写错位置而引起的大多数换位错误。后来这个算法有了很多应用场景,比如可以检测16位长的信用卡和储蓄卡的卡号是否是有效的卡号(这是美国的情况,中国的储蓄卡一般是19位,不过算法同样适用);10 位或13 位的ISBN 书号也采用了类似算法的校验和,用来对付同类错误。
这个算法很简单:从最右一位数开始向左,把每个数字交替乘1或2,如果结果大于 9就减9。如果把各位数的计算结果加起来,最后得到的总和能被10 整除,那这个卡号就是有效卡号。
你可以用这个方法测试一下信用卡,以“4417 1234 5678 9112”为例(此卡号取自某银行广告),这个卡号计算的结果是69,所以不是真卡号;如果把它的最后一个数字换成3,那就是有效卡号了。

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

返回顶部