数据分组的设计在个人化过程中承担着重要的作用。数据分组标识符(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. 挣值管理(EVT)

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 第二个大计算,根据PV.EV.AC计算出CV.SV.SPI.CPI.ETC.EAC. ...

  2. 注销CA登录

    //移除CA缓存HttpCookie ticketCookie = Request.Cookies[FormsAuthentication.FormsCookieName];FormsAuthenti ...

  3. mysql数据导入

    1.windows解压 2.修改文件名,例如a.txt 3.rz 导入到 linux \data\pcode sudo su -cd /data/pcode/rm -rf *.txt 4.合并到一个文 ...

  4. Eclipse中Jsp页面警告的解决方法小结

    恩,只要是开发人员,这样的小事情总会遇到的,对于这其中的某些警告性的错误是不影响代码的运行的,对应的功能也是能实现的,不过总给人一种不太好看的感觉!如果代码写的比较符合规范,这些问题也就自然而然的消失 ...

  5. 洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib

    P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 284通过 425提交 题目提供者该用户不存在 标签USACO 难度普及- 提交  讨论  题解 最新讨论 超时怎么办? ...

  6. 解决Linq第一次调用存储过程时速度慢的问题

    最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子: using (FruitDbDataContext dbo = new FruitD ...

  7. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  8. Loadrunner:error -86401 Failed to connceted xxx.xxx.xxx.xxx:25问题解决

    [转自:http://www.51testing.com/html/00/130600-3578408.html]windows 2003上安装的LoadRunner11做为负载机在SMTP协议压测时 ...

  9. 如何利用jq来实现复选框的全选,反选!

    $("document").ready(function(){ $("#btn1").click(function(){ $("[name='chec ...

  10. virtual box 中两个虚拟机 、宿主机 三机互通并且能上外网设置

    virtual box 中两个虚拟机 .宿主机 三机互通并且能上外网设置 1:背景:因为需要学习linux,所以需要在虚拟机里装linux系统,测试要么宿主机与虚拟机linux网络实验测试:要么另一台 ...