M1卡信息

  1. 一张M1卡的存储量为1KB( 16扇区 * 4块 * 16字节 = 1024字节 = 1KB);
  2. 一张卡有16个扇区,每个扇区有4个块,每个块有16个字节的存储量。
  3. 1字节 = 8个二进制 = 2个16进制,
    所以一个块的存储量为:16个字节 = 128个二进制 = 32个16进制。
  4. 第0扇区的块0为厂商代码,已经固化。
    每个扇区的块3为控制块,用来存放密码和控制权限 ,不能用来存储数据。
    每个扇区的块0,块1,块2可以用来存储数据(扇区0的块0除外)。
  5. 每个扇区都有独立的密码和存取权限(存储在块3)。

读写卡流程

  1. 上电:使用卡片前需要上电,上电成功后可获取到卡的序列号,卡的类型等相关信息。
  2. 认证:认证需要:
    A. 选择KeyA或者KeyB;
    B. 认证的块;
    C. SNR序列号:即Byte数组类型的卡序列号(上电后即可获取);
    D. KeyA或者KeyB的值(默认12个F);
  3. 读写块。

读写卡相关

理论部分

  1. 在认证过密码之后,可以对每个扇区的块0,块1,块2进行数据存储(扇区0的块0除外)。每个块能存储32个16进制的字符。

  2. 块3用来存储该扇区的密码和存储权限。

  3. 块3的前6个字节为KeyA,后6个字节为KeyB。中间的4个字节为存储控制。

  4. 存取控制的4个字节:

  5. 数据块(块0,块1,块2)的存取控制如下:
    (计算出C10,C20,C30即可在下表中找出块0对应的权限)

  6. 控制块(块3)的存取控制如下:
    (计算出C13,C23,C33即可在下表中找出块0对应的权限)

实践部分

  1. 如果一个扇区的块3的存储控制字节为: 08 77 8F 69
  • 转为二进制即
    6:0 0 0 0 1 0 0 0
    7:0 1 1 1 0 1 1 1
    8:1 0 0 0 1 1 1 1
    字节9为备用字节,可忽略。
  • 参照理论部分第4条,字节6全部取反, 字节7的低4位取反,得到:
    C2Y:1111 C1Y:0111
    C1Y:0111 C3Y:1000
    C3Y:1000 C2Y:1111
    对应块:3210 对应块:3210
  • 高4位的各块值=低4位的各块值时,其值可用。高4位值≠低4位值时,其值不可用!
  • C10 C20 C30 = C1Y C2Y C3Y = 1 1 0
    所以块0的权限为:验证KeyA或者KeyB可读,可减值,可初始化,验证KeyB后可写,可加值。
    C13 C23 C33 = C1Y C2Y C3Y = 0 1 1
    所以块3的权限为:验证KeyA或者KeyB可读,验证KeyB后可写
    所以扇区KeyA的权限为:KeyA 不可读,验证KeyB后可写
    所以扇区KeyB的权限为:KeyB 不可读,验证KeyB后可写

M1卡片相关(读卡,写卡,加密算法)相关推荐

  1. [STM32] Stm32f103c8t6+RC522 实现读卡写卡功能(超详细,零基础,小白)

    本篇文章内容总结下来就是 读卡            使用默认密码读卡所有扇区所有块的数据 写ID            使用默认密码读取卡一的0扇区的第一块数据并写入到卡二的0扇区的第一块里 密码读 ...

  2. ic卡写卡 angus_使用Angus更快地构建Web应用程序

    ic卡写卡 angus Nick's outstanding utility, Angus, has changed! Click here to read an updated post! 尼克杰出 ...

  3. STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    目录 前言 特别声明: 代码下载: 功能介绍: 接线 STM32 STM32F1开发指南(精英版)-库函数版本_V1.2 STM32中文参考手册 RFID-RC522 RFID射频模块电路原理图 使用 ...

  4. sd卡 写卡阻塞_Sony a7r4写卡速度测试

    测试方法 从按下快门开始计时,直到相机屏幕上缓存清空为止,得到整体写卡时间.然后取卡在电脑上查看文件数和总体大小. 写卡速度=总文件大小/写卡时间 1.存储卡Sony Tough(299M/s) 拷照 ...

  5. RFID读写器web插件实现读卡写卡

    目标: 通过友我科技的服务,实现跨浏览器的高频IC卡(S50含M1卡)的读卡(使用读卡器YW-605HA) 基于RFID读写器云服务的web开发指南: 1.下载客户端的服务,并安装 http://ww ...

  6. RC522 读卡器和写卡器 读写测试程序----基于cc2530开发板

    RC522 写卡器操作步骤:1)寻卡,2)防冲突:3)选卡:4)授权:5)写操作:6)读操作:具体步骤见源码,红色的部分是我增加的代码,其它的都是开发板自带的代码: /**************** ...

  7. M1卡一卡一密码的自动化实现

    每张卡出厂在扇区0,都有UID,读取UID是不要密码的,因此可以根据uid的4个字节进行加密,生成AB密码,密码的生成有多种方式,分区间,取余取整,等等计算.这样破解也只是破解一张卡密码,对代理商造成 ...

  8. 磁条卡芯片卡读写器|写卡器MCR200的安装与操作说明

    1. 将 MCR200 与电脑连接好,并插上电源,读卡器上的红灯长亮. 注:如直接用串口线连接电脑,可跳过第 2 步和第 3 步. 如需用 USB 转接头,需在电脑上安装 USB 驱动,请按下列步骤操 ...

  9. #信用卡#201芯片磁条复合卡写卡技术成功突破及原理解析

    本实用新型专利技术涉及业务支撑技术领域,公开了一种多路SIM卡读写装置,➕@地球号[一期一]@[九寺七武]#[九巴二久]包括:多个卡槽,每个卡槽用于放置一张SIM卡,且每个卡槽中设置有一接口电路:外围 ...

最新文章

  1. php图文消息带代码详细注释,微信发送图文消息代码整理
  2. Java_Object类
  3. webpack打包后的文件夹是空的_vue+webpack 打包文件 404 页面空白的解决方法
  4. css里面的位置属性,CSS定位属性Position详解
  5. 你真会用setTimeout吗?
  6. 笨办法学 Python · 续 练习 29:`diff`和`patch`
  7. 【报告分享】数据大治理-毕马威阿里研究院.pdf(附下载链接)
  8. 29.奖金(拓扑排序)
  9. cad通过钢筋大样生成钢筋明细表插件_如何设计一套建筑电气CAD施工图?看完你就知道!涨知识...
  10. SQLPlus获取oracle表操作SQL
  11. XcodeGhost简单查看
  12. Navicat premium注册机打不开的解决办法
  13. 安装UWB定位系统设备需要注意什么?
  14. wps指定路径不存在怎么办_WPS说目录不存在
  15. linux 效果器软件下载,盘点丨15款免费又好用的音乐制作软件
  16. 服务器藏宝系列,区如其名,这个服务器里果然遍地都是宝藏
  17. 前端局部刷新的几种方式
  18. 线程的两种实现,为什么使用runnable接口的居多
  19. python提取cad坐标_怎么提取cad中坐标?CAD批量提取坐标点的三种方法
  20. MATLAB Linear Analysis Tool 的bode图数据获取

热门文章

  1. 牛客网-2018 美团 CodeM 编程大赛-初赛 A 轮
  2. Chrome 开发者工具各种骚技巧
  3. sqli-labs闯关笔记(Challenges)
  4. 求知若饥,虚心若愚----不错的演讲,与大家共勉
  5. stc8a控制MG90S舵机
  6. 安装groovy时安照说明配置环境变量
  7. 身残志不残-霍金精神
  8. 展讯6531平台socket
  9. 【BZOJ2844】albus就是要第一个出场——线性基
  10. android 高仿大众点评,高仿大众点评商家列表