IC卡读写

部署运行你感兴趣的模型镜像

IC卡物理属性

1、IC卡分为32和64扇区,每一个扇区4个块号,第一个扇区0,第一个块号为物理卡号,此扇区只读。每个扇区的第三个块号为密码块,密码分为两种0A和0B。

2、每个块号可存储16个字节,例如16个英文或数字。1个英文占一个字节,一个汉字在utf-8下占用3个字节。

IC读卡器

读卡器分为多种每种读卡器协议由硬件自己定义,主要有串口通讯和网口通讯(tcp/udp为主要模式),网口可以实现485通讯。

您可能感兴趣的与本文相关的镜像

GPT-SoVITS

GPT-SoVITS

AI应用

GPT-SoVITS 是一个开源的文本到语音(TTS)和语音转换模型,它结合了 GPT 的生成能力和 SoVITS 的语音转换技术。该项目以其强大的声音克隆能力而闻名,仅需少量语音样本(如5秒)即可实现高质量的即时语音合成,也可通过更长的音频(如1分钟)进行微调以获得更逼真的效果

IC读写技术主要涉及对集成电路(Integrated Circuit Card)进行数据读取和写入操作。IC通常分为接触式、非接触式(如RFID)以及双界面(同时支持接触式和非接触式)。不同的IC类型使用不同的通信协议和硬件接口,因此在实现读写技术时需要根据具体的类型选择合适的方法和工具。 ### 接触式IC读写实现方法 接触式IC通过物理接触点与读器进行通信,常见的协议包括ISO/IEC 7816标准。实现此类读写通常需要以下步骤: - **硬件准备**:使用支持ISO/IEC 7816标准的读器模块,如ACS ACR122U、OMNIKEY 5321等。 - **通信协议**:通过T=0或T=1协议与进行数据交换,发送APDU(Application Protocol Data Unit)命令。 - **开发工具**:可使用PC/SC API、Java Card API或厂商提供的SDK进行开发。 - **编程语言**:支持C/C++、Java、Python等语言,通过调用库函数实现读写操作。 ### 非接触式IC读写实现方法 非接触式IC使用射频信号与读器通信,常见的标准包括ISO/IEC 14443和MIFARE Classic。实现方法如下: - **硬件支持**:使用支持NFC或HF(高频)的读器,如PN532、ACS ACR122U、Proxmark3等。 - **协议支持**:根据的协议标准发送命令,如MIFARE Classic使用14443-3或14443-4协议。 - **密钥验证**:部分需要先验证密钥才能访问数据,例如MIFARE Classic需要A/B密钥。 - **数据操作**:成功验证后,可以使用读写命令操作中的数据块。 ### 常见的IC读写工具 - **ACR122U**:由ACS公司提供的多功能NFC读器,支持MIFARE、ISO/IEC 14443等标准。 - **Proxmark3**:开源硬件,支持低频和高频读写,适用于研究和测试。 - **PN532**:NXP公司推出的NFC控制器,广泛用于嵌入式系统中。 - **MIFARE SDK**:由NXP提供,支持MIFARE系列的开发。 - **libnfc**:一个开源库,支持NFC设备与IC通信。 - **PC/SC Tools**:如winscard、pcsc-lite等,用于在Windows和Linux系统上进行智能操作。 ### 示例代码:使用Python与MIFARE通信 以下是一个使用`pyscard`库与MIFARE通信的示例代码: ```python from smartcard.System import readers from smartcard.util import toHexString # 获取所有可用的读器 r = readers() print("Available readers:", r) # 选择第一个读器并连接 reader = r[0] connection = reader.createConnection() connection.connect() # 发送SELECT命令选择MIFARE SELECT = [0xFF, 0xA4, 0x00, 0x00, 0x01, 0x00] response, sw1, sw2 = connection.transmit(SELECT) print("Select Applet: %s %02X %02X" % (toHexString(response), sw1, sw2)) # 发送读取序列号的命令 READ_SERIAL = [0xFF, 0xCA, 0x00, 0x00, 0x00] response, sw1, sw2 = connection.transmit(READ_SERIAL) print("Card Serial Number: %s %02X %02X" % (toHexString(response), sw1, sw2)) ``` ### IC读写教程资源 - **官方文档**:NXP、Infineon等IC厂商提供详细的技术文档和开发指南。 - **开源项目**:GitHub上可找到许多开源项目,如`libnfc`、`Proxmark3`固件等。 - **开发社区**:Stack Overflow、EEVblog、Hackster.io等社区提供丰富的实践案例。 - **书籍推荐**:《Smart Card Handbook》、《RFID Security and Privacy》等书籍涵盖IC相关技术。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值