信用卡校验位算法

公司书架上看到这本《Web安全、隐私与电子商务》就借回来看了一下,读到电子支付这一章,还真的发现一点很有意思的内容。

有一节介绍了支付卡校验位算法,记录一下算法:

1. 对卡号上的每位数字乘以权重。其规则是,如果卡号数字个数是偶数,则第一位乘以2,否则就乘以1,然后以后分别是,1,2,1,2,1,2;
2. 如果每位数字乘以权重后超过9 ,则需要减去 9;
3. 将所有的处理过的加权数字求和,用 数字 10 求模运算;
4. 余数应该是0,否则可能是输入错误。也可能是一个假号。

更为详细的例子参考O'Reilly 台湾站点样章对校验位的介绍

书中介绍这个算法是公开在 ISO 2894 中的,搜索了一下,这个算法叫做 The Luhn Mod-10 Method

有的网友可能会动起脑筋,那么是否可以伪造一个信用卡号码呢,嘿嘿嘿,不要忘了还有用户卡上的名字和三位验证码呢, 重要的是,书中告诉我们: 盗用信用卡号码是犯罪行为.

顺便说一下,附录一的内容很适合初创公司的CEO阅读一下。

--EOF--

| | TrackBacks (0) | | Edit

Generator | Trampoline



自定义搜索

本文相关评论|Comments(3)

leavic 的评论:

当初真不该办Master卡,怎么说VISA都有个网上支付的额外验证功能,比Master安全一些。

Fenng Author Profile Page 的评论:

额外验证功能其实作用也不大 :)

主要还是有一个更好的用卡习惯

hehe 的评论:

mod10校验是卡组织对网上商户的基本要求,商户提交授权前必须先校验卡号码的合法性,算法从服务商处就可得到,这跟Visa验证(VbV)是两回事

添加评论

关于这篇文章

这篇文章由 Fenng 于 October 18, 2006 8:01 PM 发布

上一篇:本周浙大阿里巴巴招聘会. 面向应届生招聘 DBA

下一篇:覆水难收的电子邮件

回到首页查看最近的文章或者是查看所有归档文章

DBA notes 的订阅数量,点击则可进行订阅
Feed 订阅数量,点击即可订阅最新内容