gpt4 book ai didi

java - 使用 ACR122 的 NFC Mifare Ultralight 读/写普通 Java 桌面应用程序

转载 作者:行者123 更新时间:2023-11-30 08:18:55 25 4
gpt4 key购买 nike

在 stackoverflow 上咨询了很多线程后,我仍然没有找到在 Java 应用程序中使用 ACS ACR122 USB 智能卡读卡器读取/写入 MiFare Ultralight 或 Classic NFC 卡的工作“示例”...当然,我尝试查阅NXP或ACS的文档,但仍然无法“简单”地读/写数据 block 。

有很多 Android 特定的库,但没有任何简单的旧式 J2SE 库可以简化 MiFare 通信(使用 javax.smartcardio 和 APDU 命令...)

任何人都可以给我一些真正好的和有用的指示:

  • 对 MiFare Ultralight 和 classic 使用 APDU 命令
  • (帮助我开发)一个 J2SE 库,它消除了发送到卡/从卡发送的所有 HEX 命令的复杂性
  • 在这些卡上使用的示例(超轻/经典)...

非常感谢任何帮助。

开发是通过以下方式完成的:

  • ACS acr122U NFC 读卡器
  • 使用 PC/SC lite 库的 Linux 平台
  • MiFare Ultralight 和 Classic 1K/4K 7UID 卡
  • Java SDK 1.6+ 及更高版本
  • 支持 NFC 的 Android 4.4.x 手机(例如华为……)

最佳答案

我编写了一个小型 Java (1.7+) 程序,用于使用 ACS ACR122U 转储(并写入)MiFare Classic 1K 标签。可用 on GitHub 。在底层,它使用一个名为 NFCTools 的普通旧式 J2SE 库。 .

NFCTools 通过管理所有十六进制/APDU 内容来帮助您与 NFC 卡进行通信。它带有 numerous examples 。不过我不知道主要开发者是否还想维护它。例如,他将许多 Mifare 类标记为已弃用,以重构 Mifare 支持,但它仍然是一个正在进行中的两年。 From the mailing list :

I first wrote the support for mifare classic cards and it seemed as using those classes to describe the memory area was a good idea. However when I wanted to add support for the ultralight tags the above classes would not work. With the ultralight tags I decided to use a new approach and create a org.nfctools.mf.ul.MemoryLayout class. I think this is the way to go, so I marked the MfCard classes as deprecated.

尽管处于这种中间状态,它仍然支持许多阅读器和标签格式。这些例子非常有用。然后,如果您有一些具体要求,我建议您为该项目做出贡献或 fork 它。

关于java - 使用 ACR122 的 NFC Mifare Ultralight 读/写普通 Java 桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com