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. 个人在公司在意的三点
  2. ADSL上网常见错误提示
  3. matlab的算法java_matlab环境下的回归算法分析
  4. 一、Insertion sort
  5. 总结与整理:Ubuntu系统下安装、配置Nginx及其他注意事项
  6. JavaScript中带示例的String repeat()方法
  7. Silverlight的OOB特性
  8. 腾达A6无线路由器的几种连接模式
  9. 第三十九讲:tapestry 页面加载等待过程(ProgressiveDisplay)组件
  10. html显示日期时间代码,JS全中文显示日期时间代码
  11. Illustrator 教程,如何在 Illustrator 中变换图稿?
  12. MacOS如何设置多任务桌面
  13. vue学习笔记-11-自定义指令
  14. (HDFS)搭建eclipse搭建hadoop开发平台以及hdfs api调用——大数据分析及其可视化4
  15. 学习如何在matlab用带通滤波器进行滤波
  16. 数据分析sql面试必会6题经典_经典SQL面试题及答案分析
  17. 如何将图片放大又清晰?
  18. 远程车控怎么玩?来,我教你..
  19. SimpleFOC调参3-PID参数整定攻略
  20. 机械转行嵌入式成功上岸!

热门文章

  1. skinsdog 狗网官网CSGO国服可直接取回饰品皮肤开箱网站
  2. matlab兼职可以做什么的,我开始做兼职了
  3. 批处理将生词导入金山词霸生词本!
  4. 2018 codeM 初赛A卷 第二题 棋盘题 -java
  5. .pfx数字证书制作及操作使用
  6. 美团外卖推荐智能流量分发的实践与探索
  7. 微信小程序+Servlet后台开发(一)
  8. 摩尔斯电码转换的小程序【python编写】
  9. MWC取消,手机和云计算厂商的疫情之殇
  10. 微型计算机原理及应用第四版第七章课后答案,郑学坚微型计算机原理及应用第4版笔记和课后习题答案详解...