• EMVTag系列1《数据分组》



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

    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    无符号数和有符号数之间赋值和大小比较
    (转)关于Linux核心转储文件 core dump
    mysql忘记root密码解决办法
    CentOS7安装iptables防火墙
    CENTOS7下安装REDIS
    iptables命令(备忘)
    ps 命令详解
    virtualenv
    How to Baskup and Restore a MySQL database
    linux 用户/用户组添加修改删除(ubuntu/centos)
  • 原文地址:https://www.cnblogs.com/iplus/p/4467155.html
Copyright © 2020-2023  润新知