数据分组的设计在个人化过程中承担着重要的作用。数据分组标识符(DGI)是两字节十六进制数。数据分组标识的第一个字节等于‘01’到‘1E’,表明数据存储的SFI。第二个字节表明SFI记录的记录编号。其他那些第一个字节在此范围之外的所有数据分组标识都用于索引并不存储于SFI的数据,它们在《EMV卡个人化规范:2003》中定义,为EMV、支付系统和发卡行所用。

中国金融集成电路(IC)卡借记/贷记应用对于该约定的例外情况包括数据分组标识的‘0D01’和‘0E01’。这些数据分组标识中的数据,使用READRECORD命令或UPDATERECORD命令是无法访问的。根据具体实现的不同,卡片可能把数据元存储于这些数据分组标识中作为记录,也可能不存储。

用于脱机数据认证的记录数据是标识为‘70’的TLV编码格式,对于文件的SFI分别在‘1-10’和‘11-30’的这两类文件,在脱机数据认证处理过程中的数据处理不同。任何成功的读记录(READ RECORD)命令的响应报文的数据域都包含读出的记录值。对于在1-10范围内的SFI,这个记录是一个BER-TLV结构数据对象。

‘70’

长度

记录模板

目前金融领域最多的是基于《模板 12—借记卡+电子现金+非接触式IC卡支付》.

注意事项:为降低“闪卡”概率,个人化系统的数据组织,DGI最后一条记录的70模板的长度应不超过32字节(同时确保终端读取的最后一条记录的70模板的长度应不超过32字节)

1)  Tag标签编码规则

b7

b6

b5

b4

b3

b2

b1

b0

00:通用类标签

01:应用类标签

0:基本数据对象

1:结构数据对象

11111表示标签存在第二字节,否则只有一个字节

例:93与9F14,对于93其二进制表示为:1001 0011,b4-b0不全为1,则该标签不存在第二字节,对于9F其二进制表示为:1001 1111,b4-b0为11111,则该标签存在第二字节

2)  Length编码规则

b7

b6

b5

b4

b3

b2

b1

b0

0

当前只有一个字节表示长度值,最大表示127字节

1

当前有大于一个字节表示长度值,表示接下来还有多少字节表示长度

例:81(10000001), b7=1,表示当前有大于一个字节表示长度,b6-b1=1代表后续还有一个字节的长度,两个字节最大可以表示255字节。

文/闫鑫原创
  转载请注明出处http://blog.csdn.net/yxstars/article/details/38229605

EMVTag系列1《数据分组》的更多相关文章

  1. .NET LINQ 数据分组

    数据分组      分组指将数据放入组中以便每个组中的元素共享公共特性的操作.   方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 GroupBy 对共享 ...

  2. MySQL:基础—数据分组

    MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...

  3. EMVTag系列13《脱机PIN》

    DGI8010用于个人化借记贷记交易中使用的脱机PIN.数据强制要求加密.制卡数据传输过程中,此DGI采用DEK加密保护. 数据分组标识 '8010'的数据内容       要求            ...

  4. SQL从入门到基础 - 05 数据分组、Having语句

    一.数据分组 1. 按照年龄进行分组统计各个年龄段的人数: Select FAge,count(*) from T_Employee group by FAge; 2. Group by子句必须放到w ...

  5. 智能合约语言 Solidity 教程系列4 - 数据存储位置分析

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...

  6. 使用GDAL工具对FY3系列卫星数据进行校正

    本文档主要对如何使用GDAL提供的工具对FY3系列卫星数据进行校正处理.FY3系列卫星提供的数据一般是以HDF5格式下发,一个典型的FY3A和FY3B的数据文件名如下: FY3A_MERSI_GBAL ...

  7. 数据分组分析—-groupby

    数据分组分析—-groupby 代码功能: 对于综合表格data,基于title进行分组处理,并统计每一组的size,得到的是一个series序列,此序列可以放入索引中使用,index() impor ...

  8. 9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/maxlength-minlength-dataannotations-attribut ...

  9. 9.3 翻译系列:数据注解特性之Key【EF 6 Code-First 系列】

    原文链接:http://www.entityframeworktutorial.net/code-first/key-dataannotations-attribute-in-code-first.a ...

随机推荐

  1. OC对象中的getter方法中不能用self.

    @interface boy:NSObject { int _age; } - (void)setAge:(int)age; - (int)age; @end @implementation boy ...

  2. MongoDb查询日期范围

    {"AdID":"2", "CrateDate":{"$gte":ISODate("2014-10-12T16 ...

  3. Android基础总结(9)——网络技术

    这里主要讲的是如何在手机端使用HTTP协议和服务器端进行网络交互,并对服务器返回的数据进行解析,这也是Android最常使用到的网络技术了. 1.WebView的用法 Android提供的WebVie ...

  4. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

  5. windows网络编程-2015.12.29

    在windows环境下,使用netstat命令查看网络状态,具体命令如下所示: netstat -ano | findstr listenport 在windows环境下,创建udp程序接收端,具体代 ...

  6. 深入了解Qt(三)之元signal和slot

    深入了解Qt主要内容来源于Inside Qt系列,本文做了部分删改,以便于理解.在此向原作者表示感谢! 在Qt 信号和槽函数这篇文章中已经详细地介绍了信号和槽的使用及注意事项.在这里对其使用方面的知识 ...

  7. thinkphpcmf框架中的短信验证!

    // 最新短信验证码 function MobileVerify(){ $mobile = I('post.mobile'); $verify = rand(123456, 999999);//获取随 ...

  8. (笔记)angular material 选项卡用法

  9. Symantec System Recovery

    目的:备份系统,备份文件,裸机恢复,异机恢复等 工具:http://bbs.kafan.cn/thread-1800182-1-1.html 下载地址:http://pan.baidu.com/s/1 ...

  10. leetcode 13

    罗马数字是阿拉伯数字传入之前使用的一种数码.罗马数字采用七个罗马字母作数字.即Ⅰ(1).X(10).C(100).M(1000).V(5).L(50).D(500). 记数的方法: 相同的数字连写,所 ...