为什么多家银行的银行卡上面印的卡号现在基本不是四位四位的隔开,而是6位数字+空格+其他数字?
转自百度晓得
一、银行卡格局
银行卡的格局如:xxxxxx xxxx x xxxxxxx x
我国银行卡的长度一般在13-19位,银联尺度卡长度一般是16-19位。此中信誉卡的长度为16位,借记卡的长度为19位。
银行卡号一般有五部门构成:发卡机构标识代码(BIN)、地域代码、卡品种码、挨次码、校验码。
1.发卡行标识码(BIN)
卡号左起前6位是发卡机构标识代码(BIN),一般由6位数字构成。发卡行标识代码Bank Identification Number(BIN),又叫发卡机构标识代码Issuer Identification Numbers(IIN),是由国际标注组织(ISO)造定和非配的。目前银联尺度卡易62开头,各银行再向银联申请,如621226、622848开头的别离为工商银行和农行的借记卡。
别的,银联卡不都是以62开头,次要有2种情况。第一种是双组织卡,如银联、运通双组织卡,一般以信誉卡居多,如招行与运通合做的运通卡。别的一种即早期以9开头的银行卡,那些卡都是国内自行分配的,仅限国内利用,无法与国际停止接轨。以下为部门常见卡组织发行的银行卡起始数字:

通过卡BIN能获得该卡的开户行、品种、卡号长度、卡名称等信息,是停止银行卡有效性验证的关键信息。按照数据库存储的BIN数据与用户输入的卡号的BIN信息停止婚配,就能够判断银行卡的发卡行、品种等,数据库存储的BIN数据越完美,判断越准确。目前付出宝、微信等大部门付出平台都是用那个办法停止判断的。以下为部门卡BIN:
2.地域代码第7-10位代表发卡地域,用于识别城市和网点
3.卡品种代码
第11位暗示卡品种码
4.挨次码
第12-18位代码是挨次码,是发卡行体例的,能够理解为银行卡的编码挨次
5.校验码
银行卡号最初一位是校验码,接纳LUNH算法,也称为模10算法计算得出。
二、校验码算法(LUNH算法)
第一步:从银行卡号本位码(不含校验码)的最初一位起头,将奇数位乘以2相加
第二步:将第一步计算的成果与卡号中未乘2的列位数字相加
第三步:将10减去第二步计算成果的个位数,即个位数求10的补数;若个位数为0则查验码为0.
举例:
某银行卡本位码是: 622326321600570645
第一步:
2*2+3*2+6*2+2*2+6*2+0*2+7*2+6*2+5*2=74
第二步:
74+6+2+2+3+1+0+5+0+4=97
第三步: 10-7=3
因而,该银行卡的校验码是3,完好的银行卡号是:6223263216005706453
三、编码格局的应用
1.按照银行卡编码格局,判断用户所输银行卡号的有效性,如不契合银行卡编码格局则可能呈现输入错误或胡乱输入的场景,则停止友好提醒;
2.按照BIN码判断用户输入的银行卡号与所选择的开户行,以及卡品种,是不是信誉卡等;
3.按照银行卡编码规则及卡BIN规则,平台自行搭建一套卡BIN读取系统及响应数据,响应速度更快,同时会节省一大笔接口挪用费用(每次接口挪用费用大要2-4元,按照用户量能够节省几十上百万的费用)。
在绑卡之前凡是需要停止实名认证,就涉及到我上一篇文章:金融付出:身份证号码的编码规则各人能够先查看那篇文章,以便更好的理解银行卡号的编码规则及其应用。