分享

银行卡号码编码规则

 蓦然挥守 2020-07-03

一、银行卡号码

  号码由6位发卡行标识代码(BIN)、若干自定义位、校验码

  根据ISO标准,银行卡长度一般在13-19位,国际上也有12位的。银联标准卡卡长度一般是在16-19位,双组织卡也有13-19位的。

二、BIN码

  BIN号即银行标识代码的英文缩写。BIN由6位数字表示,由国际标准化组织(ISO)分配给各从事跨行转接交换的银行卡组织。

  2014年底,国际标准组织(ISO)已经将BIN由6位调整到8位数字。目前国内银联卡,BIN长度以6位占绝大部分,另外还存在7、8、9、10等位数卡BIN。

1、MII

  发卡行标识代码第一位,为发卡行业标识号Major Industry Identifier(MII),代表的是发卡机构所处行业。

  1开头,UATP

  2200-2204,MIR

  2221-2720,MASTERCARD

  4开头,Visa

  51-55,属于MASTERCARD卡组织

  60开头,China T-Union

  62开头,China UnionPay

  9,由本国标准机构分配。9开头仅限国内使用。

  只要能获取到卡BIN数据,就能判断出银行卡发卡行及卡种。目前支付宝、微信等大部分主流需要绑卡的应用都是如此实现。

  目前银联标准卡以62开头,如622848开头的卡为农行借记卡。早期以9开头的银行卡,这些卡都是国内自行分配的,仅限国内使用。

三、自定义位

  发卡行自定义位,一般在6-12位。

四、校验码算法

  校验码为银行卡号最后一位,采用LUHN算法,亦称模10算法。计算方法如下:

  第一步:从右边第1个数字开始每隔一位乘以2;

  第二步: 把在第一步中获得的乘积的各位数字相加,然后再与原号码中未乘2的各位数字相加;

  第三步:对于第二步求和值中个位数求10的补数,如果个位数为0则该校验码为0。

举例:625965 087177209(不含校验码的银行卡号)

  第一步:6*2=12,5*2=10,6*2=12,0*2=0,7*2=14,7*2=14,2*2=4,9*2=18

  第二步:1+2 + 1+0 + 1+2 + 0 + 1+4 + 1+4 + 4 + 1+8 = 30

  30 + 2+9+5+8+1+7+0 = 62

  第三步:10-2=8。校验码是8,完整的卡号应该是6259650871772098。

  目前银联卡几乎都支持校验码算法,但是也不排除极个别不支持此算法的。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多