读了读杭州通 通用卡,记录一下子

参考资料
公共交通IC卡技术规范

公交卡的结构

1.SELECT 选择MF (可不选)

可以不选默认也会被选中,但是可以通过这个指令获得文件控制信息FCI
发送 00A4 0000 02 3F00
接收 6f 12 84 0e 31 50 55 42 2e 53 59 53 2e 44 44 46 30 31 a5 00
6F:文件控制信息模板,84:DF名称 ,A5:文件控制信息专用数据
88:短文件标识符(SFI)
所以DF名称 315055422e5356532e4444463031
即:1PUB.SYS.DDF01

2.READ RECORD 读目录文件

发送 00B2 01 0C 00
返回 70 11 61 0f 4f 09 a00000000386980701 50 02 3f01
这里 01是记录号,接下来我读了02 03都有返回,读04的时候提示记录未找到。
响应是电子存折/钱包规范中的SELECT ADF 的响应
这里一共读到3条记录
4F 是 应用标识符AID a00000000386980701
a00000000386980702
a00000000386980703
50 是应用标签 3F01
3F02
3F03

3.SELECT 选择应用 3F01

发送 00A0 0000 02 3F01
返回6f 2e (FCI模板)
84 09 a00000000386980701 (84 DF名)
a5 21 (a5 FCI专用模板)
9f0c 1e (9FOC :发卡机构自定义数据,JT/T xxx手册上写的是BF0C)
84753100000000000000 发卡机构代码
31 应用类型标识
00 发卡机构应用版本号
3100000020915087 应用帐户(卡号)
20151010 应用启用日期
20651010 应用有效日期
0000 发卡机构自定义代码

4.GET BALANCE 读取余额

发送 805C 00 02 04
返回 00 00 16 c8
我这张卡余额是 16C8
16C8 换算成10进制就是5832,再除与100,余额就是58.32

5.READ RECORD 读交易明细 (0x18)

发送 00B2 01 C4 00
返回 0018 000000 00000111 09 310001050306 20160109164459
发送参数 P2 = 0xC4(11000 100) 11000 是0x18 即 交易明细文件
切割一下返回的数据
data[0:1] 交易编号
data[2,4] 不清楚
data[5,8] 交易金额(和上一步算余额的方法一样)
data[9] 交易类型(充值(0x06)还是刷卡(0x09)
data[10,15] 终端机器编号
data[16,22] 交易日期,最后一次交易日期是 2016-01-09 16:44:59

继续发送命令依次读取记录
00B2 01 C4 00
00B2 02 C4 00
00B2 03 C4 00

00B2 0A C4 00
测试发现最多可以读取10条交易记录,大于10条就会返回记录未找到(6A83)

6.READ BINARY读公用应用基本数据文件(0x15)

发送 00B0 95 001E
返回 8475310000000000 00 00 31003100000020915087 20151010 20651010 00
00
发送参数 P2 = 0x95= 100 10101 ,10101=0x15即公共应用基本文件
拆分一下数据

data[0:7] 8475310000000000:发卡方标识
data[8] 00 :应用标识(表示保留)
data[9] 00 :发卡方应用版本
data[10:19] 31003100000020915087:卡片序列号(与卡片上的编号一致)
data[20:23] 20151010 : 起始日期
data[24:27] 20651010 : 有效日期
data[28:29] 0000 : 发卡方自定义的FCI数据

7.其他文件

尝试了读取IC卡文件结构中的其他文件
持卡人基本信息文件0x16
发送 00B0 9700 00
返回 不满足安全状态(6982)

管理信息文件 0x17
P2 = 0xBC(10111 100)
发送 00B2 01 BC 00
00B2 02 BC 00

00B2 0A BC 00
测试可以读到9条记录(到 0x09)
数据是变长记录,有全0的也有非全0的,不知道是些什么东西,没仔细研究

NFC 读取公交卡信息相关推荐

  1. android+nfc+公交卡,Android NFC 读取公交卡信息Demo

    [实例简介] 通过NFC的读模式,读取公交卡的余额和交易记录. 支持深圳通.羊城通.北京卡.八达通.武汉通等等 [实例截图] [核心代码] 54db6f91-a3f7-4259-8833-638611 ...

  2. android nfc读取公交卡信息_手机NFC可以复制小区用的门禁卡吗?

    很多带有NFC功能的手机和手环,可以用来代替小区门禁卡.公司门禁,以及各类一卡通.(NFC是一种非接触式通讯技术,工作的理论距离是0~10cm)以前出门必备手机.钱包.钥匙三件套,自移动支付出现.使用 ...

  3. android nfc读取公交卡信息_苹果将开放NFC功能,未来iPhone可录公交卡 房卡 门禁卡了...

    责任编辑:XC丨插图来自于网络  苹果NFC入口将开放  在今年十月份开始,欧盟就对苹果手机的 NFC 功能进行了 反垄断市场 调查.认为iPhone具有NFC功能,但是苹果的NFC功能仅限自己的 A ...

  4. android nfc读取公交卡信息_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...

    2019年双十一期间,入手了荣耀magic2手机,其实去年用过一次,今年换了多次还是特别喜欢,主要是麒麟980旗舰CPU,全面滑屏特有面子. 入手的第一时间,自己就启用了手机的钱包功能,手机钱包除了小 ...

  5. Android NFC源码读取公交卡信息余额和交易记录

    通过NFC的读模式,读取公交卡的余额和交易记录.可以读取深圳通.羊城通.北京卡.八达通.武汉通等. 源码亲测可用放心下载. 源码下载Eclipse版本:Android NFC源码读取公交卡信息余额和交 ...

  6. android通过NFC读取公交卡的余额和交易记录

    通过NFC的读模式,读取公交卡的余额和交易记录.这是一个开源的工程,可以读取深圳通.羊城通.北京卡.八达通.武汉通等等. 读取分四个步骤: 1.select PSF (1PAY.SYS.DDF01) ...

  7. Android Studio NFC读取CPU卡信息

    今天接到一个NFC读CPU卡的需求,做个总结. 总结之前,吐槽一下,一定要查一下测试机支不支持NFC功能,我拿乐视S3开发了一上午,以为哪里出了BUG或者权限没加,查了无数资料,下了十几个demo,死 ...

  8. Android NFC的初次使用——公交卡信息读取

    通过NFC的读模式,读取公交卡的余额和交易记录.这是一个开源的工程,可以读取深圳通.羊城通.北京卡.八达通.武汉通等等. 1.首先要在AndroidManifest.xml中声明如下配置信息: 使用& ...

  9. Arduino ESP32 第三方库读取SD卡信息(三)

    Arduino ESP32 第三方库读取SD卡信息(三) 相关篇<Arduino ESP32 第三方库读取SD卡信息(一)> <Arduino ESP32 第三方库读取SD卡信息(二 ...

最新文章

  1. 借助JRebel使Tomcat支持热部署
  2. How to setup SLF4J and LOGBack in a web app - fast--转载
  3. Python函数——.strip()
  4. 使用Travis-CI的SpringBoot应用程序的CI / CD
  5. 设计模式笔记二十一:状态模式
  6. swoole异步mysql有什么用_php如何使用SwooleTaskWorker实现异步操作Mysql(代码)
  7. 在一起计时器_三种在PPT里制作计时器的方法,超详细!超漂亮!
  8. 在禁用UAC时无法激活此应用
  9. 到底什么是SPA、SEO、SSR?
  10. 使用css修改input的文字提示语颜色
  11. 计算机开机进不了bios,开机进不了bios,教您怎么解决win8开机进不了bios
  12. java+am+上午,java – 使用AM/PM以12小时格式显示当前时间
  13. 微机原理——8086系统的概述与引脚介绍
  14. 查看wifi连接路由器的MAC地址
  15. 有感于董洁为子找幼儿园因不是外籍被拒 怪自己“不争气”
  16. 2022年艺术品和古董投资策略研究报告
  17. 【Laravel框架】对于Laravel框架架构的研究以及视图方法和内置会话在项目里的运用
  18. C#编码格式转换,Url,escape,unicode编码和解码
  19. php获取另一个网页内容,php获取网页内容的三种方法
  20. 移动边缘网络中联邦学习效率优化综述

热门文章

  1. 天空盒(Skybox)
  2. 浅析 vSAN 磁盘组架构和缓存盘的“消亡”
  3. CSS rgb颜色产生原理 颜色对照表
  4. 关于Vue引用组件时地址报错Already included file name ‘xxx‘ differs from file name ‘xxx‘ only in casing的原因
  5. 技术干货 | 录屏采集实现教程 —— iOS端
  6. 重构修练笔记 Refactoring Xiu Lian Notes (1) - 练气期
  7. 求圆的面积(Java实现)
  8. Keras使用VGG16模型预测自己的图片
  9. PX4模块设计之三十八:Navigator模块
  10. Android武器库