码迷,mamicode.com
首页 > Windows程序 > 详细

Atitit.会员卡(包括银行卡)api的设计

时间:2016-10-05 13:06:24      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:

 

 

 

 

Atitit.会员卡(包括银行卡)api的设计

 

1. 银行卡的本质是一种商业机构会员卡1

2. 会员卡号结构组成1

2.1. ●前六位是:发行者标识代码 Issuer Identification Number (IIN)1

2.2. ●中间的位数是:个人账号标识(从卡号第七位开始)6-12位数字2

2.3. ●最后一位位数是校验位2

2.4.  将卡号前面的数字采用Luhn算法计算出信用卡或者借记卡的最后一位数字。2

3. 银行卡号校验 (Luhn算法)2

4. LUHN公式2

4.1. 计算步骤3

5. 工具卡号判断银行3

5.1. 有效期4

5.2. 银行归属地查询4

 

1. 银行卡的本质是一种商业机构会员卡

第一张信用卡就是加油站 和餐厅 发行的。。

不过一般商业银行的会员卡可以提现,单也少部分不可或者有限制。。

其他机构发行的会员卡,根据各个机构不同而不同,有的可以提现,大部分不可提现。。

 

2. 会员卡号结构组成

 

其实我们的银行卡号一般是16位或者19位。由如下三部分构成。

 

2.1. ●前六位是:发行者标识代码 Issuer Identification Number (IIN)。

 

注意:当前已经用IIN替换了之前的发卡行识别码 Bank Identification Number (BIN).

其中第一位数字是主要产业标识符(Major Industry Identifier (MII)),下表列出了MII每个数字代表的卡号行业。

卡号首位

适用的目录

0

ISO/TC 68 和其他行业使用

1

航空

2

航空和其他未来行业使用

3

运输、娱乐和金融财务

4

金融财务

5

金融财务

6

商业和金融财务

7

石油和其他未来行业使用

8

医疗、电信和其他未来行业使用

9

由本国标准机构分配

下表列出了,不同卡号对应的发行机构。因此“中国银联”发行的卡一定是62开头;而国内使用Visa信用卡的人士其卡号会是4开头,而使用万事达(Matercard)的人士卡号一般以51、52、53、54、55打头。

2.2. ●中间的位数是:个人账号标识(从卡号第七位开始)6-12位数字

中间位数由发卡行自定义,一般由6-12位数字组成。最多可以使用12位数字。

每个银行的个人账号标识规则有所不同。有的银行在这部分内容中会包含分行、支行、储蓄网点等代码信息。有得银行可能就没有这么详细,会使用自然流水顺序码。

2.3. ●最后一位位数是校验位

2.4. 
将卡号前面的数字采用Luhn算法计算出信用卡或者借记卡的最后一位数字。

 

3. 银行卡号校验 (Luhn算法)

4. LUHN公式

 编辑

本词条缺少信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

LUHN公式(LUHN formula)也叫模数10modulus 10),它是简单的数学运算,用来验证信用卡的编号。几乎所有的主要的信用卡发行公司的卡都是用它,这里面包括American ExpressVisaMaster CardDiscoverDiner‘s Club

它最初是在二十世纪六十年代由一群数学家创造出来的,LUHN公式是公开的,任何人都可以使用。

4.1. 计算步骤

编辑

LUHN公式通过一些简单的数学运算用信用卡号计算出一个校验数,它出现在信用卡号的最后一位。下面是这个公式的三个步骤:

1. 从倒数(右边的)第二个数字开始,把下一个数乘二并加在一起。

2. 从右到左,把跳过的数加到第一步的结果里。如果第一步中一个数字乘二之后结果导致出现两位数(如7+7=14),那么按照第二步在把出现的数字(14)加到第二步中。

3. 从下个高位以零结尾的数减去第二步得到的结果。结果将和校验位一致。

LUHN公式(LUHN formula)可以在给借方授权的时候把卡号发送前确保信用卡的有效性。在加拿大,它用来验证个人保险号。它并不检查信用卡的其他信息,包括卡是否过期。[1] 

5. 工具卡号判断银行

位数少于14的卡号基本是外资银行,或小银行。

***496748***        **     HSBC                               HSBCHKHHHKH  

***430259***        **     HSBC                               HSBCHKHHHKH  

***51878018***     **    Bank of East Asia Limited      BEASHKHHXXX   

位数多于23的卡号大多是卡号包含字母或空格。

62270014 **** 0045 ***      CHINA CONSTRUCTION BANK **                

601382700 **** 9077 **      BANK OF CHINA FOSHAN BRANCH **

如果是国内的主流银行(中、农、工、建、招、交等)基本都是基于16位或者19位的卡号。

来看看提现成功(clear_success)里面的卡有多少满足Luhn规则

 

5.1. 有效期

 

5.2. 银行归属地查询

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

 

6. 参考资料

 

银行卡号编码规则.html

银行卡号编码规则_昕中的世界_新浪博客.html

Atiend

 

 

Atitit.会员卡(包括银行卡)api的设计

标签:

原文地址:http://www.cnblogs.com/attilax/p/5931928.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!