当前位置:   article > 正文

EMV TLV 总结_emv内核tlv

emv内核tlv

什么是TLV?

TLV结构是一种传输结构,一个buf,通过T(tag)索引,通过L(len)指定后续长度,通过V(value)保存指定长度

--------------------------------------------------------------------------------------

一个buf怎么解析成TLV?

现在有这么一个二进制字节流

6F328407A0000000031010A5278701019F38129F1A029F33039F40059F1B049F09029F35015F2D086573656E667264659F110101

如第一行所示,它就是一个由上面buf解析出来的TLV结构


tag 部分是 0x6F

len 部分是 0x32

value 部分是 二进制字节流 8407A0000000031010A527870101009F38129F1A029F33039F40059F1B049F09029F35015F2D086573656E667264659F110101


---------------------------------------------------------------------------------------

TLV一层层完全解析出来是什么样的?

对于TLV来讲,有两种格式,一种是基本格式(BER-TLV),一种是嵌套格式

对于本例的buf来讲,它就是一个复合的嵌套格式,完整解析出来应该是这个样子

整个buf是一个父节点,6F

他有两个子节点84 、A5

对于84节点,他是不可再分的基础格式

对于A5节点,他是一个父节点

可以再拆分为4个子节点87、 9F38、 5F2D、 9F11

----------------------------------------------------------------------------------------


为什么87 节点和 9F38节点中间有个白色的地方呢?

根据EMV文档规定,可能出于填充或者其他原因,tlv和tlv之间可能存在无意义的00字节,

在解析的时候应该无视它


----------------------------------------------------------------------------------------

那么为什么有的元素是基础元素,有的元素是嵌套结构呢?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/497255
推荐阅读
相关标签
  

闽ICP备14008679号