Atitit.会员卡(包括银行卡)api的设计
Atitit.会员卡(包括银行卡)api的设计
2.1. ●前六位是:发行者标识代码 Issuer Identification Number (IIN)。1
2.2. ●中间的位数是:个人账号标识(从卡号第七位开始)6-12位数字2
2.4. 将卡号前面的数字采用Luhn算法计算出信用卡或者借记卡的最后一位数字。2
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)也叫模数10(modulus 10),它是简单的数学运算,用来验证信用卡的编号。几乎所有的主要的信用卡发行公司的卡都是用它,这里面包括American Express、Visa、Master Card、Discover和Diner's Club。
它最初是在二十世纪六十年代由一群数学家创造出来的,LUHN公式是公开的,任何人都可以使用。
4.1. 计算步骤
LUHN公式通过一些简单的数学运算用信用卡号计算出一个校验数,它出现在信用卡号的最后一位。下面是这个公式的三个步骤:
1. 从倒数(右边的)第二个数字开始,把下一个数乘二并加在一起。
2. 从右到左,把跳过的数加到第一步的结果里。如果第一步中一个数字乘二之后结果导致出现两位数(如7+7=14),那么按照第二步在把出现的数字(1和4)加到第二步中。
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的设计的更多相关文章
- atitit.基于http json api 接口设计 最佳实践 总结o7
atitit.基于http json api 接口设计 最佳实践 总结o7 1. 需求:::服务器and android 端接口通讯 2 2. 接口开发的要点 2 2.1. 普通参数 meth,p ...
- Atitit 信用卡与会员卡(包括银行卡)的发展之路
Atitit 信用卡与会员卡(包括银行卡)的发展之路 实现跨机构卡片内金额的流动解决方案 1.1. 财务卡片本质上都是会员卡1 1.2. 卡片的发展阶段1 2. 实现跨机构卡片内金额的流动解决方案(加 ...
- Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql
Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql 1. 图16.1:MySQL体系结构1 2. 16.7. 创建表create()虚拟函数:2 3. 16.8 ...
- Atitit.跨语言系统服务管理器api兼容设计
Atitit.跨语言系统服务管理器api兼容设计 1. Common api,兼容sc ,service control??1 1.1. 服务创建,use sc1 1.2. 服务delete ,use ...
- API的设计与安全
前后端分离是个浪潮,原来只有APP客户端会考虑这些,现在连Web都要考虑前后端分离 . 这里面不得不谈的就是API的设计和安全性,这些个问题不解决好,将会给服务器安全和性能带来很大威胁 . API的设 ...
- Atitit Atitit.软件兼容性原理----------API兼容 Qa7
Atitit Atitit.软件兼容性原理----------API兼容 Qa7 1. 兼容性的重要性与反面教材1 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法 ...
- Atitit.加密算法ati Aes的框架设计
Atitit.加密算法ati Aes的框架设计 版本进化 c:\1t\aesC47.java c:\1t\aes.java 增加了public static byte[] encrypt(byte[] ...
- Atitit.加密算法ati Aes的框架设计v2.2
Atitit.加密算法ati Aes的框架设计v2.2 版本进化1 V2.2 add def decode key api1 v1版本1 Aes的历史2 Atitit.加密算法 des aes ...
- Web API接口设计经验总结
在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...
随机推荐
- SVN修改用户名与密码
由于在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法. 解决方案如下: 在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名 ...
- IB交换机配置命令总结
串口通过远程CRT登录,波特率9600用户名和密码都是adminDo you want to use the wizard for initial configuration?选择no打开ip rou ...
- 【转】JavaScript下对去重算法的优化
本人较懒,直接将链接附上: JavaScript下去重算法优化:http://www.linuxde.net/2013/02/12062.html
- 在c++这片神秘的大陆上
在c++这片神秘的大陆上,有一个无往而不利的地下王国,据说其手段血腥残忍,却深得民心,因为,他们是侠,是剑胆琴心,诗肠酒骨的侠客,他们不知解决了多少疑难杂症,除去了多少问题漏洞,而他们的首领-> ...
- angular文件引入带来的绑定问题
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script ...
- PhoneGap(二维码扫描 )
关于 phoneGap 如何做 二维码扫描 1. 先配置好, 环境 http://coenraets.org/blog/cordova-phonegap-3-tutorial/http: ...
- 【整理】--linux指令
1.压缩 解压 .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.g ...
- 对部分Java名词的总结
对部分Java名词的总结: 前端技术: CSS:是层叠样式表(Cascading Style Sheets)的缩写,它用于定义HTML元素的显示形式,是W3C推出的格式化网页内容的标准技术. Boot ...
- 循环处理--sqlserver
alter PROCEDURE [dbo].[sp_gongzi] @gongzi_yf varchar(7) as DECLARE @input_id varchar(20)DECLARE @s ...
- Swift 对比学习 (一)
Swift相对Objective-C来说,有过之而无不及,并与Objective-C无缝混编,可谓利器.在Swift中可以看到不同的编程语言的影子,天下语言一大抄,这样也好,减低了不同语言的学习成本. ...