境内银行卡磁条信息格式

时间:2024-03-04 22:00:06
第1磁道的数据内容
第1磁道数据编码最大记录长度为79个字符,数据字段的顺序和长度应与表1给出的第1磁道数据格式一致。
第1磁道为只读磁道。
 
第2磁道的数据内容
第2磁道数据编码最大记录长度为40个字符,数据字段的顺序和长度应与表2给出的第2磁道数据格式一致。
第2磁道为只读磁道。
 
第3磁道的数据内容
第3磁道数据编码最大记录长度为107个字符,数据字段的顺序和长度应与表B.1给出的第3磁道数据格式一致
第3磁道为读写磁道。
字段说明
6.1 起始标志(STX)
用途:标明数据的开始。
格式:1个字符。
内容:第1磁道为“%”,第2磁道和第3磁道为“;”。
6.2 格式代码(FC)
用途:标明该磁道的数据格式类型。
格式:第1磁道为1个字符,第3磁道为2位数字。
内容:第1磁道为“B”,第3磁道为“99”。
6.3 主账号(PAN)
用途:标明可以处理交易的发卡机构和持卡者。
格式:13至19位数字。
内容:校验数算法见GB/T 14504。
6.4 字段分隔符(FS)
用途:标明前一字段的结束。
格式:1个字符。
内容:第1磁道为“∧”,第2磁道和第3磁道为“=”。
6.5 姓名(NM)
用途:标明持卡者的姓氏、名字、称谓等。
格式:2至26个字符。
内容:由姓氏、姓氏分隔符、名字或首写字母、分隔符(如需要时)、中间名或首写字母、结尾圆点(当其后为称谓时)、称谓组成。最小编码数据应为一个字母字符(如姓氏)加上姓氏分隔符。
6.6 失效日期(ED)
用途:表示卡失效的日期。
格式:YYMM形式的4位数字,其中:
YY——卡失效年度的后2个字符。
MM——年度内月份的顺序号。规定在该月份的最后一天后,卡失效。
当YYMM为0000时,表示此卡无失效日期。
6.7 服务代码(SC)
用途:标明银行卡可使用的服务类型。
格式:3位数字。
内容:第1位:
1——国际使用。
2——国际使用—指明卡片有集成电路芯片,如集成电路芯片可以使用,金融交易应由集成电路处理。
5——国内使用。
6——国内使用—指明卡片有集成电路芯片,如集成电路芯片可以使用,金融交易应由集成电路处理。
7——专用-不用于交换。
9——测试。
第2位:
0——普通授权。
2——必须获得发卡行或发卡行代理的联机授权。
4——除非另有双方协议明确规定,必须获得发卡行或发卡行代理的联机授权。
第3位:
0——服务领域无限制,要求输入PIN。
1——服务领域无限制。
2——仅用于商品和服务。
3——仅用于ATM,要求输入PIN。
4——仅现金。
5——仅用于商品和服务,要求输入PIN。
6——服务领域无限制,当有密码键盘时,提示输入PIN。
7——仅用于商品和服务。当有密码键盘时,提示输入PIN。
6.8 附加数据
用途:存放卡片验证码(CVN)及对发卡机构有意义的任意数据。
格式:可变,但应保证该磁道字符总数不得超过最大编码长度。
内容:卡片验证码(CVN,算法见附录A),位置及其它内容由发卡机构自行规定。
6.9 结束标记(ETX)
用途:标明磁道上有意义数据的结束。
格式:1个字符。
内容:“?”。
6.10 纵向冗余校验码(LRC)
用途/内容:见GB/T 15120.2。
格式:1个字符。
B.2.1 国家代码
用途:标明可以处理由银行卡产生交易的国家。
格式:3位数字。
内容:“156”(见GB/T 2659)。
B.2.2 货币代码
用途:标明结算时使用的货币类型。
格式:3位数字。
内容:见GB/T 12406。
B.2.3 金额指数
用途:决定周期授权量(B.2.4)与本周期余额(B.2.5)两字段的基值。
格式:1位数字。
内容:表示周期授权量(B.2.4)与本周期余额(B.2.5)两字段必须乘以10的一个幂指数的值,以此表示货币金额。
B.2.4 周期授权量
用途:表示在一个周期内累积交易不能超过的金额。
格式:4位数字。
内容:由发卡机构自行规定授权量。
B.2.5 本周期余额
用途:表示当前周期内的可用金额。
格式:4位数字。
内容:在新的周期开始时,该字段等于周期授权量(B.2.4),消费后逐次递减,余额存本字段。
B.2.6 周期开始日期
用途:表示一个新周期开始的日期。
格式:YDDD形式的4位数字,其中:
Y——年度最后一个有效字符。
DDD——年度内天数的顺序号,其范围为001-366。
B.2.7 周期长度
用途:表示所有交易的累积值不能超过授权量的时间期限。
格式:2位数字。
内容:00——本周期余额只能减少,但不能重置的一种银行卡;
01~79——本周期的天数;
80——周期为7天;
81——周期为14天;
82——周期为半个月;
83——周期为一个月;
84——周期为三个月;
85——周期为六个月;
86——周期为一年;
87~99——保留,待分配。
B.2.8 密码重输次数
用途:记录允许未成功输入密码的次数。
格式:l位数字。
内容:该字段在发卡和正确输入密码时被赋初值,初值由各发卡机构自定义;当输入密码不正确时该字段减1。
B.2.9 个人授权控制参数
用途:提供一种可选择的安全性能。
格式:6位数字。
内容:保密算法由各发卡机构自行规定。
B.2.10 交换控制符
用途:标明银行卡适用于交换的范围。 格式:l位数字。
内容:0——无限制;
1——国际使用; 
2——限制在国内、跨系统交换; 
3——限制在省内、跨系统交换;
4——限制在市内、跨系统交换; 
5——限制在国内系统内交换; 
6——限制在省内系统内交换; 
7——限制在市内系统内交换;
8——管理卡,不适用于交换;
9——系统测试卡。
B.2.11 主账号的账户类型(TA)和服务约束(SR)
用途:定义主账号(PAN)的账户类型和可提供的服务。
格式:2位数字。
内容:a.第1位数字——账户类型
0——主账号(PAN)未在第3磁道上编码;
1——储蓄或结算账户;
2——现金或支票账户;
3——信用卡账户;
4——适用于多种账户类型的通用账户;
5——付息现金或支票账户;
6~8——保留待分配;
9——发卡机构内部使用,但不能交换。
b.第2位数字——服务约束
0——无约束;
1——无现金服务;
2——无销售点(POS)服务;
3——无现金和销售点(POS)服务;
4——要求肯定的授权;
5~7——保留待分配;
8~9——发卡机构内部使用。
B.2.12 第一辅助账号的账户类型和服务约束
用途:同B.2.11中的定义一致,但此字段内容涉及第一辅助账号(SAN-1)(B.2.16)中包含的账号。
格式:2位数字。
内容:同B.2.11。
B.2.13 第二辅助账号的账户类型和服务约束
用途:同B.2.11中的定义一致,但此字段内容涉及第二辅助账号(SAN-2)(B.2.17)中包含的账号。
格式:2位数字。
内容:同B.2.12。
B.2.14 卡序列号
用途:区别具有相同主账号(PAN)的卡(同时或连续发行)。
格式:1位数字。
内容:由发卡机构定义,在最初发卡或卡失效后换卡时赋值。每次增加卡或发新卡时,该字段值加1。
B.2.15 卡保密号
用途:用于建立磁条所含数据与物理卡的联系。
格式:字段分隔符(FS)。
内容: FS——表示卡保密号字段不在第3磁道上编码。
B.2.16 第一辅助账号(SAN-1)
用途:标明第一个可选用的辅助账号。
格式:最大12个字符。
内容:由发卡机构酌情使用。长度为0时,表示不使用第一辅助账号。
B.2.17 第二辅助账号(SAN-2)
用途:标明第二个可选用的辅助账户。
格式:最大12个字符。
内容:由发卡机构酌情使用。长度为0个字符时,表示不使用第二辅助账号。
B.2.18 传递标志
用途:提供可减少传送交换信息长度的功能。它表明交换信息是否包含附加数据的内容。
格式:1个字符。
内容:0——包括所有附加数据; 1——不包括附加数据; 2~9——无效。
B.2.19 加密校验数(CCD)
用途:通过使用加密公式提供一种校验该磁道上数据完整性的方法。
格式:6个字符。
内容:加密方法由各发卡机构自行规定。
卡片验证码(CVN)的算法
计算步骤如下:
计算CVN时使用二个64位的验证密钥,KeyA和KeyB。
1) 计算CVN的数据源包括:主账号(PAN)、卡失效期和服务代码,从左至右顺序编排。
2) 将上述数据源扩展成128位二进制数据(不足128位右补二进制0)。
3) 将128位二进制数据分成两个64位的数据块。最左边的64位为Block1,最右边的64位为Block2。
4) 使用KeyA对Block1进行加密。
5) 将Block1的加密结果与Block2进行异或。使用KeyA对异或结果进行加密。
6) 使用KeyB对加密结果进行解密。
7) 使用KeyA对解密结果进行加密。
8) 从左至右将加密结果中的数字(0-9)抽出,组成一组数字。
9) 从左至右将加密结果中的字符(A-F)抽出,减10后将余数组成一组数字,排列在步骤(8)的数字之后。
a) 步骤(9)的左边第一组三位数即为CVN值。

例:
主 账 号:4123 4567 8901 2345 
有 效 期:8701 
KeyA:0123 4567 89AB CDEF
KeyB:FEDC BA98 7654 3210
服务代码:111
第一步:数据源为4123456789012345 8701 111
第二步:扩展为4123 4567 8901 2345 8701 1110 0000 0000
第三步:Block1=4123 4567 8901 2345  Block2=8701 1110 0000 0000
第四步:用KeyA对Block1加密;
结果为:B76A DDCE 71CC C6BE
第五步:将结果与Block2异或,结果为:306B CCDE 71CC C6BE;再用KeyA加密,结果为:BAE6 746F 6DE1 F0E6
第六步:用KeyB解密, 结果为:B262 ABCB 9DE9 9A63
第七步:用KeyA加密, 结果为:8D56 25FA 7801 1A0C
第八步:抽出结果中的数字,结果为:8562 5780 110
第九步:抽出结果中的字符,结果为:DFAA C;减10后,结果为:3500 2;连接到第八步的结果之后为:8562 5780 1103 5002
第十步:最左边三位数就是CVN=856。