银行卡磁道详细说明

1.主题内容与适用范围 本标准规定建设银行发行的储蓄卡规则。主要包括储蓄卡卡号编码规则和磁条磁道的数据格式和内容等。 
本标准适用于建设银行各发卡机构发行的储蓄卡。
 
2.引用标准
 
ISO7813识别卡金融交易卡 版权所有148067812

GB/T15120识别卡记录技术 
VISA 国际卡操作规程
 
3.储蓄卡的磁条
 
储蓄卡的磁条应符合GB/T15120中的有关要求,磁条第二磁道的编码字符集见建总发字(1992)第176号文中《中国人民建设银行金融交易卡暂行标准》。本标准不使用第三磁道。
 
4.储蓄卡卡号编码规则
 
建设银行储蓄卡磁卡卡号编码字符共19位数字,连续排列:
 
XXXXXXXXXXXXXXXXXXX
 
储蓄卡卡号编码字(907064841)符应与第二磁道中主账号(PAN)完全一致。
 
5.储蓄卡卡号编码结构
 
储蓄卡卡号账号(PAN)由19位数字连续排列组成。结构如下:
 
XXXXXX AAA BBB YYYYYY Z
 
其中:
 
XXXXXX:建设银行储蓄卡发卡银行标识代码,长度为6位,我行统一编号为436742
 
AAA:发卡机构标识码(标识发卡的城市分行)。取值范围为000至999,由总行储蓄卡管理部门统一进行编排。
 
BBB:发卡机构所辖的发卡网点标识码。取值范围为000至999,由各发卡机构自行编排。

YYYYYY:标识发卡网点所发储蓄卡的顺序号。取值范围为000000至999999。
 
Z:卡号校验位。校验方法如下:
 
将已确定的储蓄卡卡号的前18位数字的每位数字分别乘以相应的校验系数,所得积求和后模10,结果即为校验位值。
 
校验系数:卡号前18位左起奇数位为,偶数位为
 
6.磁条第二磁道的数据内容
 
储蓄卡磁条第二磁道的有效数据编码最大长度为37个字符,数据字段的顺序和长度应与下面详细给出的第二磁道数据格式完全一致。
 
磁条第二磁道数据格式
 
-----------------------
 
| 字 段 | 长 度 | 名 称 |
 
|------|-----|--------|
 
| 1 | 1 |起始标记 |
 
|------|-----|--------|
 
| 2 | 19 |主账号 |
 
|------|-----|--------|
 
| 3 | 1 |分隔符 |
 
|------|-----|--------|
 
| 4 | 4 |失效日期 |
 
|------|-----|--------|
 
| 5 | 3 |服务代码 |
 
|------|-----|--------|
 
| 6 | 3 |卡校验值 |
 
|------|-----|--------|
 
| 7 | 2 |产品类型 |
 
|------|-----|--------|
 
| 8 | 1 |卡序列号 |
 
|------|-----|--------|
 
| 9 | 4 |保留数据 |
 
|------|-----|--------|
 
| 10 | 1 |结束标记 |
 
|------|-----|--------|
 
| 11 | 1 |校验标号 |
 
-----------------------
 
6.1第一字段:起始标记(STX)
 
用途:标明数据的开始,是第二磁道上编写的第一个数据字符。
 
格式:1个字符。
 
内容:见建总发字(1992)第176号文《中国人民建设银行金融交易卡暂行标准》。
 
6.2第二字段:主账号(PAN)
 
用途:标明可以处理交易的发卡机构和持卡人。
 
格式:19位数字。
 
内容:同卡号。
 
6.3第三字段:分隔符(FS)
 
用途:标明第2字段(PAN)的结束。
 
格式:1个字符。
 
内容:见建总发字(1992)第176号文《中国人民建设银行金融交易卡暂行标准》。
 
6.4 第四字段:失效日期(EXPIRE DATE)版权所有
148067812
用途:表示卡失效的日期。
 
格式:YYMM形式的四位数字。
 
内容:YY——卡失效年度的后2个数字,确定方法为发卡年份加20。取值范围为00~99。

MM——年度内表示月份的数字,规定在月份的最后一天后,卡失效。取值范围为01~12。
 
YYMM不能为0000。
 
6.5第五字段:服务代码(SERVICE CODE)
 
用途:用于定义卡使用的地点和范围,决定是否需输入密码。
 
格式:3位数字。
 
内容:取值520,表示只限国内使用,采用正授权方式,即联机实时扣账方式,必须输入个人密码。
 
6.6第六字段:卡校验值(CVV)
 
用途:提供一种防止非法制造伪卡的安全保密机制。
 
格式:3位数字。
 
内容:算法见附录B。
 
6.7第七字段:产品类型(CARD PRODUCT TYPE)
 
用途:标识储蓄卡的卡类型。
 
格式:2位数字。
 
内容:00——储蓄卡,
 
其他——保留将来使用。
 
6.8 第八字段:卡序列号(CARD SERIAL NUMBER)
 
用途:表示同一账号的领卡张数。
 
格式:1位数字。
 
内容:取值范围1~9,1表示第1张卡。
 
6.9 第九字段:保留数据(RESERVED DATA)
 
用途:暂无定义。
 
格式:4位数字。
 
内容:以全零填充。
 
6.10第十字段:结束标记(ETX)
 
用途:标明第二磁道上有意义数据的结束。
 
格式:1个字符。
 
内容:见建总发字(1992)第176号文《中国人民建设银行金融交易卡暂行标准》。
 
6.11第十一字段:纵向冗余校验符(LRC)
 
用途/内容:由打卡设备产生,用于校验磁条内容。
 
格式:1个字符。
 
附录:A 磁卡PIN的保密算法
 
1.持卡人所知道的密码PIN为NNNNNB,共六位数字代码,由发卡机构发卡时产生并通过密码信封递交持卡人。
 
2.主账号PAN,XXXXXXAAABBBYYYYYYZ,共19位,计算PIN控制参数和PIN时,取后16位作为计算值。
 
3.PIN控制参数与PIN的产生按照建总发字(1992)第176号文《中国人民建设银行金融交易卡暂行标准》附录D中PIN控制参数的产生和PIN的产生方法执行,所不同之处在于生成PIN控制参数和PIN时基本账号的取值按2中定义取值。
 
建设银行储蓄卡采用第二磁道,二磁道不允许修改,PIN控制参数必须加密存放在主机中,密码修改时需相应更新主机中PIN控制参数。
 
附录:B 卡校验值(CVV)的产生算法
 
一、定义
 
卡校验值(CVV)提供对磁条内容加密校验以防止非法修改或非法仿制磁条内容的一种算法。加密算法采用美国国家安全部的DES算法。
 
二、卡校验值(CVV)的产生和校验
 
(一)工作密钥(WORKING KEYS)
 
两个64 Bits称为CVKA和CVKB的卡校验密钥,用于产生和校验磁道二中的卡校验值CVV。
 
在生成和使用工作密钥时,注意以下几点:
 
发卡行不能使用银行密钥(PIN KEY)作为工作密钥;
 
每一个发卡行使用不同的工作密钥;
 
工作密钥应以加密方式存放在主机系统中,假如工作密钥泄露,要求立即更新工作密钥,该发卡行所发行的卡必须重发;
 
工作密钥的保密算法可参照按照建总发字(1992)第176号文《中国人民建设银行金融交易卡暂行标准》附录D中银行密钥(PIN KEY)的保密算法执行。
 
(二)卡校验值的计算
 
卡校验值即CVV的计算方法如下:
 
1.将以下从第二磁道中抽取出的字符从左至右排列,产生26个字符:
 
主账号(PAN) 19位
 
卡有效期(EXPIRE DATE) 4位
 
服务代码(SERVICE CODE) 3位
 
并转换为104 Bits(26×4),转换方法为将每一位数字转换为4位的BCD码,即:
 
十六进制数字 BCD码
 
0 0000
 
1 0001
 
2 0010
 
… …
E 1110
 
F 1111
 
2.将步骤1得出的结果的最后补上二进制,使之成为128Bits的字段,将该字段分为2个64 Bits的数据,其中前64 Bits数据为数据块1,后64 Bits数据为数据块2。
 
3.用CVKA对数据块1加密(ENCRYPTION)。
 
4.将步骤3得出的结果与数据块2异或(XOR),并用CVKA对结果加密。
 
5.用CVKB对步骤4得出的结果解密(DECRYPTION)。
 
6.用CVKA对步骤5得出的结果加密。
 
7.对步骤6得出的结果从左到右抽取出所有的数字(0~9)。
 
8.对步骤6得出的结果从左到右抽取出所有的十六进制字符(A~F),并对每一个十六进制字符减十进制10,使之变为数字,例如十六进制B(十进制为11)变为1。
 
9.将步骤7和8得出的数字从左至右排列,步骤8得出的数字放在步骤7得出的数字之后。
 
10.步骤9得出结果的前三位数字即为卡的校验值(CVV)。
 
(三)测试数据
 
以下数据可用于编写CVV算法时检查程序是否正确,其中:
 
CVKA=0123 4567 89AB CDEF
 
CVKB=FEDC BA98 7654 3210
 
13位PAN 失效日期 服务代码 CVV
 
4123 456 789 012 8701 101 370
 
4999 988 887 777 9105 111 649
 
4666 655 554 444 9206 120 821
 
4333 322 221 111 9307 141 697
 
16位PAN 失效日期 服务代码 CVV
 
4123456789012345 8701 101 561
 
4999988887777000 9105 111 245
 
4666655554444111 9206 120 664
 
4333322221111222 9307 141 382
 
以第一个十六位主账号为例,计算卡校验值的步骤如下:
 
主账号:4123 4567 8901 2345
 
失效日期:8701
 
服务代码:101
 
步骤1:抽取数据 4123456789012345 8701 101
 
步骤2:数据块 块1=4123 4567 8901 2345
 
块2=8701 1010 0000 0000
 
步骤3:用CVKA加密 块1=4123 4567 8901 2345
 
CVKA=0123 4567 89ab cdef
 
结果3=b76a ddce 71cc c6be
 
步骤4:用块2异或步骤3的结果,并用 结果3=b76a ddce 71cc c6be
 
CVKA对异或结果加密 块2=8701 1010 0000 0000
 
结果=306b cdde 71cc c6be
 
CVKA=0123 4567 89ab cdef
 
结果4=a510 46a2 59a4 c467 (148067812

步骤5:用CVKB对步骤4的结果解密 结果4=a510 46a2 59a4 c467 
CVKB=fedc ba98 7654 3210
 
结果5=90f6 db02 a6f7 e621
 
步骤6:用CVKA对步骤5的结果加密 结果5=90f6 db02 a6f7 e621
 
CVKA=0123 4567 89ab cdef
 
结果6=5b61 4982 e03c 97dd
 
步骤7:对步骤6的结果抽取数字 结果7=5614 9820 397
 
步骤8:对步骤6的结果抽取十六进制字 抽取结果=becd d
 
符,并转换为10进制数字(每位减 结果8=14233
 
10)版权所有
QQ148067812
步骤9:将步骤8的结果排列在步骤7的 结果9=5614 9820 3971 4233
 
数字后面
 
步骤10:步骤9的结果前三位数字为CVV 结果10=561

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值