解码EMV TLV数据

Rah*_*ram 2 .net c# emv tlv verifone

我正在开发支持EMV卡的POS应用程序.我能够从TLV中的Verifone MX读卡器读取卡数据,但我在将TLV数据解码为可读数据方面遇到了问题.

我能够将数据拆分为TLV标签及其值.结果值为十六进制而不是已解码文本.

例:

这是一个TLV数据样本(我在这里得到了这个样本TLV数据

6F2F840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A564953412044454249548701019000
Run Code Online (Sandbox Code Playgroud)

当我在TLVUtil中检查这个TLV时,我以可读格式获取某些标签中的数据(如此处的标签50).

我可以在我的应用程序中得到的最近的是:

Tag Value
50  56495341204445424954
4F  A0000000031010
61  4F07A0000000031010500A56495341204445424954870101
6F  840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A56495341204445424954870101
84  325041592E5359532E4444463031
87  1
90  
A5  BF0C1A61184F07A0000000031010500A56495341204445424954870101
BF0C 61184F07A0000000031010500A56495341204445424954870101
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以识别需要从Hex转换为字符串的某些标签,或者.Net中是否有可以复制TLVUtil工具的TLV解析器和解码器.

Ada*_*anu 5

Complete list of EMV tags and are available in EMVCo 4.3 specification book 3 - 
you can download from here - https://www.emvco.com/download_agreement.aspx?id=654
How data is represented differs from field to field. Check Annex A
 Data Elements Dictionary


Details on encoding is mentioned in section 4.3

Read both the sections and your problem solved.