银行卡发卡行标识代码及卡号标准 校验位算法

  本标准对银行卡发卡行标识代码及卡号有关内容做了规定。

  本标准由全国银行卡办公室提出,全国金融标准化技术委员会归口管理。本标准由全国银行卡办公室组织制定。

标准起草单位:全国银行卡办公室、中国工商银行、中国农业银行、中国银行、中国建设银行、交通银行。
  1 范围
  本标准规定了银行卡的发卡行标识代码及卡号的规范,其中包括银行卡卡号结构、长度以及发卡行标识代码的长度等内容,不包括发卡行标识代码编码。
  本标准适用于中华人民共和国境内发行和使用的各种人民币银行卡。
  2 引用标准
  下列标准所包含的条文,通过在本标准中引用而构成本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。
  ISO 7812-1:1997  发卡行标识代码的编号体系
  3 定义
  3.1 银行卡bank card
  由商业银行(含邮政储蓄机构)向社会发行的具有消费信用、转账结算、存取现金等全部或部分功能的信用支付工具。
  3.2 卡号card number
  标识发卡机构和持卡人信息的号码。它由发卡行标识代码、自定义位和校验位组成。
  注:它等同于磁条信息中所定义的主账号。
  3.3 发卡行标识代码bank identification number(BIN)
  标识发卡机构的代码。
  4 卡号长度及结构
  银行卡的卡号长度及结构符合ISO 7812-1有关规定,由13-19位数字表示,具体由以下几部分组成:
    9  XXXXX       X……X     X
   发卡行标识代码     自定义位    校验位
  5 发卡行标识代码
  发卡行标识代码标识发卡机构,由6位数字表示,第一位固定为”9″,后5位由BIN注册管理机构分配。
  6 自定义位
  发卡行自定义位,由6-12位数字组成。
  7 校验位
  卡号最后一位数字,根据校验位前的数字计算得到。计算方法:

Luhn计算模10″隔位2倍加”校验数的公式
(标准的附录)

  计算步骤如下:

  步骤1:从右边第1个数字(低序)开始每隔一位乘以2。
  步骤2:把在步骤1中获得的乘积的各位数字与原号码中未乘2的各位数字相加。
  步骤3:从邻近的较高的一个以0结尾的数中减去步骤2中所得到的总和[这相当于求这个总和的低位数字(个位数)的”10的补数”]。如果在步骤2得到的总和是以零结尾的数(如30、40等等),则校验数字就是零。
  例:
    无校验数字的卡号 4992 73 9871 步骤
  4 9  9 2 7 3 9 8 7 1       1
   ×2  ×2  ×2  ×2  ×2 
   18   4   6  16  2

  4+1+8+9+4+7+6+9+1+6+7+2=64         2
  70-64=6                  3

  带有校验数字的卡号为:4992 73 9871 6

  8 BIN注册管理机构
  BIN注册管理机构是负责BIN注册管理的机构。
  9 BIN注册管理原则
  发卡机构发行的银行卡须向BIN注册机构提出BIN分配申请。
  10 卡面统一标识信息
  如有卡面凸印信息,应有效日期后凸印”CN”,如无凸印,应在此位置印刷”CN”,其字体和字号应与该信息行其他字符一致。