标签: tlv

如何解读Mifare Classic 1K上的NDEF内容

我使用Android设备上的NFC Tools应用程序(通过内置NFC阅读器)将文本写入Mifare Classic 1K标签.这段文字是"更多"(我的姓).

然后,我正在尝试使用NFC读取器ACR1255U和ACS提供的库来阅读此文本(NDEF格式).

我能够得到以下:

阅读第4块:FF B0 00 04 10回复:0000030ED1010A5402656E6D6F726574 9000

阅读第5块:FF B0 00 05 10回复:746FFE00000000000000000000000000 9000

我知道这FE表明内容的结束,6D6F726574746F是我的文字.但是如何识别文本的开始位置?我很难理解恩智浦文档中描述的TLV格式.

android nfc mifare tlv ndef

3
推荐指数
1
解决办法
5060
查看次数

读BERTLV时,什么时候停下来?

我有以下 BERTLV: 61394F0BA00000030800001001234579074F05A000012345500E49442D4F6E65205049562042494F5F50107777772E6F626572746875722E636F6D7F66080202800002028000

我试图以递归方式解析它,所以我将第一部分视为 TLV。

标签: 0x61, Len: 0x39, 值:4F0BA00000030800001001234579074F05A000012345500E49442D4F6E65205049562042494F5F50107777772E6F626572746875722E636F6D

然后我进一步分解它,得到

标签: 0x4F, Len: 0x0B, 值: A000000308000010012345

现在,我该如何停止?在这一点上,我知道这个值是这个 TLV 的最后一站,而不是另一个嵌套的 TLV。

asn.1 tlv ber

3
推荐指数
1
解决办法
1493
查看次数

Kannel中的TLV参数

我的 SMS 服务提供商要求我在通过 SMPP 连接到他时设置以下 TLV 参数:

  • 价格点 (0x1400)
  • 产品(0x1401)
  • 合作伙伴角色 ID (0x1402)

如何在 Kannel 中配置相同的内容,因为这是我第一次使用这个 SMPP 客户端应用程序,我在 Kannel.conf 文件中设置了以下数据,但是当我推送/发送消息时,网关没有感觉到 TLV我已经设定。

group = smpp-tlv
name = PRICEPOINT
tag = 0x1400
type = integer
length = 4
smsc-id = SMSC01

group = smpp-tlv
name = PRODUCT
tag = 0x1401
type = integer
length = 4
smsc-id = SMSC01

group = smpp-tlv
name = PARTNERROLEID
tag = 0x1402
type = integer
length = 4
smsc-id = SMSC01
Run Code Online (Sandbox Code Playgroud)

但在实时 TCP 跟踪中,我没有找到它:

在此输入图像描述

smpp kannel tlv

3
推荐指数
1
解决办法
3345
查看次数

将未知标签获取到选定的 PPSE 命令

我正在尝试读取 Paypass Maestro 万事达卡。所以我发送以下 SELECT PPSE 命令:

\n\n
00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00\n
Run Code Online (Sandbox Code Playgroud)\n\n

我得到以下回复:

\n\n
6F 2C 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 \n30 31 A5 1A BF 0C 17 61 15 4F 0C A0 00 00 00 04\n30 60 C1 23 45 67 89 87 01 03 9F 2A 01 02\n
Run Code Online (Sandbox Code Playgroud)\n\n

成功选择后:SW1SW2=9000

\n\n …

apdu emv nfc tlv contactless-smartcard

2
推荐指数
1
解决办法
2836
查看次数

解码EMV TLV数据

我正在开发支持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解析器和解码器.

.net c# emv tlv verifone

2
推荐指数
1
解决办法
4574
查看次数

读取 EMV 卡时不包括持卡人姓名

我已经成功地从非接触式借记卡/信用卡中检索了卡号和有效期。但是,在 READ RECORD 命令响应中没有返回持卡人姓名。我错过了什么吗?

-   Select Application

#   IN_DATA_EXCHANGE
>>  D4 40 01 00 A4 04 00 07 A0 00 00 00 03 10 10 00 
<<  D5 41 00 6F 43 84 07 A0 00 00 00 03 10 10 A5 38 50 10 56 69 73 61 20 20 20 20 20 20 20 20 20 20 20 20 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A …
Run Code Online (Sandbox Code Playgroud)

apdu emv nfc tlv contactless-smartcard

1
推荐指数
1
解决办法
3276
查看次数

C#中Base64的电子发票二维码TLV,仅适用于公司名称为拉丁字母的情况

仅当公司名称以拉丁字母书写时,附加代码才有效,但如果公司名称以阿拉伯字母书写,则附加代码无法正常工作。任何人都可以建议并将正确的部分添加到代码中,我是这个领域的初学者。

\n

标记长度值 (TLV) .\n\xe2\x80\xa2 消息类型代码 (T) - 1 字节 1 字节固定大小(2 位数字)。\n\xe2\x80\xa2 消息值长度 ( L) - 1 字节固定大小为 1 字节(2 位数字)。\n\xe2\x80\xa2 消息值本身。(V) - Variable(可变大小)包括将文本字符串编码为十六进制的结果

\n

TLV 示例(如果公司名称以拉丁字母书写)

\n

字符串:\nBobs Records3101223935000032021-12-10 01:26:44100.0015.00

\n

正确结果:\n十六进制:\n010C426F6273205265636F726473020F3331303132323339333530303030330313323032312D31322D31302030313A32363A3434040631 30302E3030050531352E3030

\n

HexToBase64:\nAQxCb2JzIFJlY29yZHMCDzMxMDEyMjM5MzUwMDAwMwMTMjAyMS0xMi0xMCAwMToyNjo0NAQGMTAwLjAwBQUxNS4wMA==

\n

通过https://www.base64decode.org从 Base64 格式解码:

\n

鲍勃记录 310122393500003 2021-12-10 01:26:44 100.00 15.00

\n

==================================\n如果公司名称以阿拉伯字母书写,则 TLV 示例:

\n

字符串:\n\xd8\xb4\xd8\xb1\xd9\x83\xd8\xa9\xd8\xa7\xd9\x84\xd8\xa3\xd8\xb1\xd8\xb63101223935000032021-12-10 01:26:44100.0015。 00

\n

结果不正确,但不\xe2\x80\x99不知道问题出在哪里:

\n

十六进制:\n010A3F3F3F3F203F3F3F3F3F020F3331303132323339333530303030330313323032312D31322D31302030313A32363A343404063130302E3030 050531352E3030

\n

HexToBase64:\nAQo/Pz8/ID8/Pz8/Ag8zMTAxMjIzOTM1MDAwMDMDEzIwMjEtMTItMTAgMDE6MjY6NDQEBjEwMC4​​wMAUFMTUuMDA=

\n

通过https://www.base64decode.org从 Base64 格式解码

\n

???? ???? 310122393500003 2021-12-10 01:26:44 100.00 15.00

\n
using …
Run Code Online (Sandbox Code Playgroud)

.net c# base64 tlv

1
推荐指数
1
解决办法
4254
查看次数

标签 统计

tlv ×7

emv ×3

nfc ×3

.net ×2

apdu ×2

c# ×2

contactless-smartcard ×2

android ×1

asn.1 ×1

base64 ×1

ber ×1

kannel ×1

mifare ×1

ndef ×1

smpp ×1

verifone ×1