磁条卡知识学习与数据解析

一、基本介绍

  磁条卡是以液体磁性材料或磁条为信息载体,将液体磁性材料涂覆在卡片上(如存折),或将宽约614mm的磁条压贴在卡片上(如常见的银联卡)。
  磁卡上的3个磁道一般都是使用"位"(bit)方式来编码的,根据数据所在的磁道不同,由5个bit或7个bit组成一个字节,每个字节最高位为奇偶校验位,国标GB15120中规定磁卡采用奇校验,即保证每个字节中的"1"的个数为奇数个。磁卡数据中的起始、结束和纵向冗余校验字节本身都有奇偶校验。(奇偶校验与磁道数据解析无关,与刷卡器读磁条卡相关)

在这里插入图片描述

二、磁条卡分类

磁条卡按技术可以分为以下两类:

  • 高抗磁卡:具有较高的抗消磁性,适用于安全性较高的场合如信用卡及ID卡等。高抗磁条一般为2750,3500和4000 OE(奥斯特),三个磁道皆可写入。
  • 低抗磁卡:使用普通抗消磁性磁条,主要用于门票、会员卡及其它普通场合。低抗磁条一般为300和650 OE(奥斯特),只能写入二磁道,一和三磁道无法写入。

备注1:抗磁简单讲,是用来衡量磁条抵抗因受外界磁场影响而造成数据损失的能力,又称抗消磁性。
备注2:低抗磁条卡刷卡机只支持低抗磁卡,高抗磁条卡刷卡机则兼容两者。
备注3:通常,低抗磁条刷卡机无法读取一磁道数据。


三、磁卡使用规范

  所有银行磁条卡必须使用第2磁道。第3磁道是否使用由各发卡行自行规定。第1磁道暂不使用,保留将来酌情使用。
  金融模块进行处理时,必须同时读入并上送第2、3磁道信息。第2磁道作为交换磁道,各银行在进行识别和信息交换时以第2磁道为准。


四、磁道数据格式说明

1、第一磁道

(1) 简单介绍
  第1磁道数据编码最大记录长度为79个字符,可记录数字(0-9)、字母(A-Z)和其他一些符号(如括号、分隔符等)。第1磁道为只读磁道。一般记录了磁卡的使用类型、范围等一些标记性、说明性的信息。例如银行用卡中,第1磁道记录了用户的姓名,卡的有效使用期限以及其他的一些标记信息。

(2) 数据格式说明

序号字段动态(D)/静态(S)字段长度备注
1起始标志S1标明数据开始,为"%"
2格式代码S2标明数据格式类型,为"99"
3主账号S13~19标明可处理交易的发卡行和持卡者
4字段分隔符S1标明前一字段的结束,为"^"
5姓名S2~26标明持卡者的姓氏、名字、称谓等
6字段分隔符S1“^”
7失效日期S4表示卡失效的日期
8服务代码S3标明银行卡可使用的服务类型
9附加数据S可变容纳对发卡行有意义的任意数据
10结束标志S1标明磁道上有意义数据的结束,为"?"
11纵向冗余校验位S1用于数据校验

2、第二磁道

(1) 简单介绍
  第2磁道数据编码最大记录长度为40个字符,只可记录数字(0-9)。第2磁道为只读磁道。一般用以记录用户的帐户信息、款项信息等等,当然还有一些银行所要求的特殊信息等。

(2) 数据格式说明

序号字段动态(D)/静态(S)字段长度备注
1起始标志S1标明数据开始,为";"
2主账号S13~19标明可处理交易的发卡行和持卡者
3字段分隔符S1标明前一字段的结束,为"="
4失效日期S4表示卡失效的日期
5服务代码S3标明银行卡可使用的服务类型
6附加数据S可变容纳对发卡行有意义的任意数据
7结束标志S1标明磁道上有意义数据的结束,为"?"
8纵向冗余校验位S1用于数据校验

3、第三磁道

(1) 简单介绍
  第3磁道数据编码最大记录长度为107个字符,只可记录数字(0-9)。第3磁道为读写磁道。一般用以记录用户的帐户信息、款项信息等等,当然还有一些银行所要求的特殊信息等。

(2) 数据格式说明

序号字段动态(D)/静态(S)字段长度备注
1起始标志S1标明数据开始,为";"
2格式代码S2标明数据格式类型,为"99"
3主账号S13~19标明可处理交易的发卡行和持卡者
4字段分隔符S1标明前一字段的结束,为"="
5国家代码S3标明可以处理由银行卡产生交易的国家,为"156"
6货币代码S3标明结算时使用的货币类型:3位数字
7金额指数S1决定周期授权量与本周期余额两字段的基值
8周期授权量S4表示在一个周期内累积交易不能超过的金额,由发卡机构自定授权量
9本周期余额D4当前周期内的可用金额
10周期开始日期D4YDDD形式的4位数字,其中Y表示年度最后一个有效字符,DDD表示年度内天数的顺序号,其范围为001-366
11周期长度S2表示所有交易的累积值不能超过授权量的时间期限
12密码重输次数D1记录允许未成功输入密码的次数
13个人授权控制参数D6提供一种可选择的安全性能
14交换控制符S1标明银行卡适用于交换的范围
15PAN的TA和SRS2定义主账号(PAN)的账户类型和可提供的服务
16SAN-1的TA和SRS2定义第一辅助账号(SAN-1)的账户类型和可提供的服务
17SAN-2的TA和SRS2定义第二辅助账号(SAN-2)的账户类型和可提供的服务
18失效日期S4表示卡失效的日期
19卡序列号S1区别具有相同主账号(PAN)的卡,由发卡机构定义,在最初发卡或卡失效后换卡时赋值。
20卡保密号D1字段分隔符(FS),用于建立磁条所含数据与物理卡的联系
21SAN-1S最大12标明第一个可选用的辅助账号
22字段分隔符S1“=”
23SAN-2S最大12标明第二个可选用的辅助账户
24字段分隔符S1“=”
25传递标志S1表明交换信息是否包含附加数据的内容
26加密校验数S6通过使用加密公式提供一种校验该磁道上数据完整性的方法。
27附加数据D可变容纳对发卡行有意义的任意数据
28结束标志S1“?”
29纵向冗余校验位D1用于数据校验

五、具体字段说明

1、起始标志(STX)

用途:标明数据的开始。
格式:1个字符。
内容:第1磁道为"%",第2、3磁道为";"。

2、格式代码(FC)

用途:标明该磁道的数据格式类型。
格式:2位数字。
内容:“99”。

3、主账号(PAN)

用途:标明可以处理交易的发卡行和持卡人。
格式:13至19个字符。
内容:由发卡行标识代码、自定义位和校验位组成,其中发卡行标识代码(BIN)由6位数字表示,第一位固定为"9",后5位由BIN注册管理机构分配;自定义为由6-12位数字组成;校验位根据校验位前的数字计算得到,通过模10"隔位乘2加"校验数算法计算得到,详见附录1 JRT 0008-2000 银行卡发卡行标识代码及卡号。

4、字段分隔符(FS)

用途:标明前一字段的结束。
格式:1个字符。
内容:第1磁道为"^",第2、3磁道为"="。

5、姓名(NM)

用途:标明持卡者的姓氏、名字、称谓等。
格式:2至26个字符。
内容:由姓氏、姓氏分隔符、名字或首写字母、分隔符(如需要时)、中间名或首写字母、结尾圆点(当其后为称谓时)、称谓组成。最小编码数据应为一个字母字符(如姓氏)加上姓氏分隔符。

6、失效日期(ED)

用途:表示卡失效的日期。
格式:YYMM形式的4位数字,其中YY表示卡失效年度的后2个字符;MM表示年度内月份的顺序号,规定在该月份的最后一天后,卡失效。当YYMM为0000时,表示该卡无失效日期。

7、服务代码(SC)

用途:标明银行卡可使用的服务类型。
格式:3位数字,其中第一位为交换控制符。
内容:交换控制符可在2-9间选用,服务代码的后两位在下列区域中分配:00-49由国际标准化组织分配和发布;50-59由国内标准化相关组织分配和发布;60-99由发卡行酌情使用。目前后两位已分配的服务代码如下图:

在这里插入图片描述

8、附加数据

用途:容纳对银行卡发行者有意义的任意数据。
格式:可变。但应保证该磁道字符总数不得超过最大编码长度。
内容:具体内容由发卡行自定。

9、结束标记(ETX)

用途:标明磁道上有意义数据的结束。
格式:1位字符。
内容:"?"。

10、纵向冗余校验符(LRC)

用途:用于对磁道数据进行校验。
格式:1个字符。
内容:LRC字符中的每一位(不包括奇偶校验位)的值,使磁道上所有字符相应位位置上的编码为"1"的总数(包括起始符、数据、结束符和LRC字符)为偶数。详见附录2 GB/T15120.2-2012与附录5 lrc检验的java实现。

11、国家代码

用途:标明可以处理由银行卡产生交易的国家。
格式:3位数字。
内容:“156”(见GB/T/ 2659)。

12、货币代码

用途:标明结算时使用的货币类型。
格式:3位数字。
内容:见GB/T 12406。

13、金额指数

用途:决定周期授权量与本周期余额两字段的基值。
格式:1位数字。
内容:表示周期授权量与本周期余额两字段必须乘以10的一个幂指数的值,以此表示货币金额。

14、周期授权量

用途:表示在一个周期内累积交易不能超过的金额。
格式:4位数字。
内容:由发卡行自定授权量。

15、本周期余额

用途:表示当前周期内的可用金额。
格式:4位数字。
内容:在新的周期开始时,该字段等于周期授权量,消费后逐次递减,余额存本字段。

16、周期开始日期

用途:表示一个新周期开始的日期。
格式:YDDD形式的4位数字,其中Y表示年度最后一个有效字符,DDD表示年度内天数的顺序号,其范围为001-366。

17、周期长度

用途:表示所有交易的累积值不能超过授权量的时间期限。
格式:2位数字。
内容:如下图

在这里插入图片描述

18、密码重输次数

用途:记录允许未成功输入密码的次数。
格式:1位数字。
内容:该字段在发卡和正确输入密码时被赋初值,初值由各发卡行自定义;当输入密码不正确时该字段减1。

19、个人标识代码控制参数(PINPARM)

用途:提供一种可选择的安全性能。
格式:6位数字。
内容:保密算法由各发卡行自定。

20、交换控制符

用途:标明银行卡适用于交换的范围。
格式:1位数字。
内容:如下图

在这里插入图片描述

21、主账号的账户类型(TA)和服务约束(SR)

用途:定义主账号(PAN)的账户类型和可提供的服务。
格式:2位数字。
内容:第1位数字为账户类型,其中

0–主账号(PAN)未在第3磁道上编码
1–储蓄账户
2–现金或支票账户
3–信用卡账户
4–适用于多种账户类型的通用账户
5–付息现金或支票账户
6~8–保留待分配
9–发卡行内部使用,但不能交换

第2位数字为服务约束,其中

0–无约束
1–无现金服务
2–无销售点(POS)服务
3–无现金和销售点(POS)服务
4–要求肯定的授权
5~7–保留待分配
8~9–发卡行内部使用

22、第一辅助账号的账户类型和服务约束

用途:同【21】的定义一致,但此字段内容涉及第一辅助账号(SAN-1)中包含的账号。
格式:2位数字。
内容:同【21】。

23、第二辅助账号的账户类型和服务约束

用途:同【21】的定义一致,但此字段内容涉及第二辅助账号(SAN-2)中包含的账号。
格式:2位数字。
内容:同【21】。

24、卡序列号

用途:区别具有相同主账号(PAN)的卡(同时或连续发行)。
格式:1位数字。
内容:由发卡行定义,在最初发卡或卡失效后换卡时赋值。每次增加卡或发新卡时,该字段加1。

25、卡保密号

用途:用于建立磁条所含数据与物理卡的联系。
格式:字段分隔符(FS)。
内容:FS–表示卡保密号字段不在第3磁道上编码。

26、第一辅助账号(SAN-1)

用途:标明第一个可选用的辅助账号。
格式:最大12个字符。
内容:由发卡机构酌情使用。长度为0时,表示不使用第一辅助账号。

27、第二辅助账号(SAN-2)

用途:标明第二个可选用的辅助账号。
格式:最大12个字符。
内容:由发卡机构酌情使用。长度为0时,表示不使用第二辅助账号。

28、传递标志

用途:提供可减少传送交换信息长度的功能。它表明交换信息是否包含附加数据的内容。
格式:1个字符。
内容:0表示包括所有附加数据;1表示不包括附加数据;2~9无效。

29、加密校验数(CCD)

用途:通过使用加密公式提供一种校验该磁道数据上数据完整性的方法。
格式:6个字符。
内容:加密方法由各发卡行自定。


六、磁道数据解析例子

1、第2磁道

例子:

62285600000000276=0000520260408650000

根据第2磁道数据格式,可将上述数据分解成:

(主账号=62285600000000276)
(=)
(失效日期=0000)此卡无失效日期
(服务代码=520)国内使用,必须获得发卡行或发卡行代理的联机授权,服务领域无限制,要求输入PIN。
(附加数据=260408650000)

2、第3磁道

例子:

9962285600000000276=1561560500050000000013341865514000000001=00000000273=000000018=000000026040100018

根据第3磁道数据格式,可将上述数据分解成:

(格式代码=99)
(主账号=62285600000000276)
(=)
(国家代码=156)中国
(货币代码=156)CNY-人民币元
(金额指数=0)
(周期授权量=5000)
(本周期余额=5000)
(周期开始日期=0000)
(周期长度=01)1天
(密码重输次数=3)
(个人授权控制参数=341865)
(交换控制符=5)限制在国内系统内交换
(PAN的TA和SR=14)储蓄账户,需要肯定的授权
(SAN-1的TA和SR=00)无编码
(SAN-1的TA和SR=00)无编码
(失效日期=0000)无失效日期
(卡序列号=1)
(卡保密号为=)
(SAN-1=00000000273)
(=)
(SAN-2=000000018)
(=)
(传递标志=0)包括所有附加信息
(加密校验数=000000)
(附加数据=26040100018)


附录

  1. JRT 0008-2000 银行卡发卡行标识代码及卡号
  2. GB/T15120.2-2012
  3. 关于磁卡的基本常识
  4. 磁条磁道信息
  5. lrc检验的java实现
  6. 中国银联标识磁条卡磁道数据格式测试指南
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值