译冰博客-行走在网络营销的路上

rc522,rc522哪家好采购找万联芯城

http://www.baidu.com/

? [简介-rc522]

  中频RC522是用于13.56兆赫非接触式通信的一系列高集成度读写卡之一。这是恩智浦公司为“三米”应用推出的低电压、低成本、小体积非接触读写卡芯片。是智能仪器和便携式手持设备研发的更好选择。中频RC522是用于13.56兆赫非接触式通信的一系列高集成度读写卡芯片之一。这是公司推出的用于“三米”应用的低电压、低成本、小体积非接触读写卡芯片。是智能仪器和便携式手持设备研发的更好选择。中频RC522采用先进的调制和解调概念,在13.56兆赫下完全集成所有类型的无源非接触式通信模式和协议。支持ISO14443A的多层应用。它的内部发射器部分可以被驱动

  金城卡算法及自制硬件测试设备分析

  *本文仅供技术讨论,严禁任何非法使用。

  一.导言

  金成卡说,熟悉它的人都非常熟悉它。不熟悉它的人以前从未见过它。中国的许多大学都使用这种水卡。这张水卡有两种版本。下图显示了金城卡的旧版本(未完全加密),另一个版本比这个版本(完全加密)更难看。虽然全加密和非全加密的感知安全性有了很大提高,但加密方法并没有因为其加密密钥而改变,因此算法仍然可以通过旧卡进行分析。当然,完全有可能通过mfcuk获得完整的密钥。毕竟,算法并没有改变。

  二.卡片中的数据结构列表

  首先,让我们看看旧卡(未完全加密的卡),通过几张卡的比较可以发现是一张卡的一个秘密。

  旧卡在扇区12中有数据,新卡也在扇区12中有数据,但是一些个人信息数据已经被添加到其他扇区中(估计如果有人破解它,很容易抓人)。可以看出,KEYA只有12个扇区不是默认键,其余的是默认键。结果,我们学校的许多人开始产生错误的想法。毕竟,acr122u已经被这样的设备淹没,它已经被克隆并写入白卡开始销售(没有分析下层卡的数据),然后它们一个接一个地被捕获(这!).新卡完全加密,数据的扇区和块保持不变。然而,关键算法保持不变。

  Ps。以上数据是我在网上收集的,与学校代码相关的信息也进行了修改。

  三、钱块算法分析

  第12: 0节是货币的价值,通过最少的技术比较方法,该头寸是货币。因此,可以获得组5、6和7明显改变。因此,判断这三者与金钱有关。01 15 02 00 21 86 B1 F1 FFFFFFFFFFFFFFFF

  01 15 02 00 21 85 B2 F1

  01 15 02 00 21 84 B3 F1

  然而,仍然有三个代码,01 15 02,它们在申请研究生入学考试时经常出现(本文中的代码是错误的)。这显然是学校的守则。水卡上的信息也包含学校代码。

  21 86从十六进制到十进制的转换实际上与卡中的货币数量*100相同,所以组5 6是货币的位置。然后第七组是检查位置以防止篡改数据。想想Ic卡最常见的检查方法,结果仍然是2位数。所以我猜这是对每一组和每一组的异或运算。如果01 15 02 00 21 86的结果是B1。原来,学校守则的作用是这样的,啊,防止跨学校买水?在这个阶段,水卡的货币部分被解密。

  四、一张卡一个秘密解密

  这一部分不敢说得太详细,怕教别人不好。然而,通过对货币块的分析,产生校验位的是异或运算。柯亚也是通过异或运算得到的吗?为什么密钥的最后四个数字是固定的?前8个变化?Uid也是8位?KEYA是基于UID计算的固定值吗?异或似乎是可逆的操作!这是本段的结尾。

  五、大头,自制硬件设备

  使用KEYA计算规则,还有一种检查和生成的方法。任何水卡都可以完全充电(包括新卡,因为除了完全加密之外,其余的都没有改变)。

  硬件设备包括:

  0.96有机发光二极管1(I2C)

  Esp8266nodemcu v1.0

  一个Rc522模块(spi)

  实际上,我本来想用arduino,但是我有一个我不用的esp8266,只是用它作为arduino。如下图所示,将导线连接到spi和i2c。没有困难。(我画的电路图太难看了,无法处理)下图是esp8266的引脚定义。如果您也使用esp8266,您可以参考这一点。

  这就是我自己服用后的样子。我不会在背后拍照。太丑了。焊渣死了。

  代码如下,请注意注释:

  # include # include # include # include # include # define SDA _ PIN 4//定义oled的数据#定义SCL个人识别码5 //定义oled的时钟#定义RST引脚10 //定义rc522的rst #定义不锈钢引脚15 //定义rc522的ss(其余的就参照spi和i2c对应的引脚就行了rc522的RQ悬空 不用接制造商522制造商522(RST);//创建制造商C522实例ada水果_ssd1306syp显示屏(SDA_PIN、SCL _ PIN);//创建oled显示实例制造商制造商MFRC522:MIFARE _键关键帧;/**初始化*/无效设置{延迟(1000);显示。初始化;序列开始(9600);而(!系列);SPI。开始;制造商522 .PCD _ InitpinMode(D0,输出);//这个是设置板载的领先为输出端口数字写入(D0,高);//这个领先高电平亮低电平灭 所以拉高展示。setTextSize(3);//欢迎界面display.setTextColor(白色);展示。println(' WELCOM ');显示.更新延迟(3000);} /**主循环*/无效循环display.clear//清空显示//寻找新卡如果(!制造商522 .PICC _新闻简报){返回;} //选择一个卡如果(!制造商522 .PICC_ReadCardSerial) {返回;} //读取uid并字节2字符串UID=";对于(字节I=0。i制造商522 .uid。尺寸;(字符串,十六进制);显示。setTextSize(2);display.setTextColor(白色);display.setCursor(0,0);展示。println(UID);//计算键这块结合着前面看,已经很清晰的知道怎么计算柯亚了[0]=^0x * *;[1]=^0x * *;[2]=^0x * *;[3]=^0x * *;[4]=0x * *;[5]=0x * *;String KEY=对于(字节I=0。I 6;i ) {密钥串联(字符串(密钥字节[一世),十六进制);}钥匙,请参见;//显示。打印(“KEY :”);//显示。println(KEY);//显示。更新;字节扇区=12;//扇区字节块地址=48;//扇区开始块 金额地址制造商522:3360状态代码状态;//状态码字节缓冲器[18];字节大小=大小(缓冲区);//在拖车锁块中 使用身份验证密钥"使用密钥验证”);状态=(制造商制造商MFRC522:StatusCode)制造商522 .验证(制造商c 522:3360 PICC制造商c522.uid).如果(状态!=制造商522:3360状态_正常){//如果状态!=成功display.println('失败);display.println(mfrc522 .GetStatusCodeName(状态);//输出状态返回;} //输出指定扇区当前内容状态=(制造商制造商MFRC522:StatusCode)制造商522 .MIFARE_Read(块地址、缓冲区、大小);如果(状态!=制造商522:3360状态_正常){//如果读取错误输出错误信息display.println('失败);display.println(mfrc522 .GetStatusCodeName(状态);//输出状态}国际货币=缓冲[5] |缓冲[4]8;缓冲[5]=国际货币;国际货币1=缓冲[5] |缓冲[4]

【相关推荐】

stm32f103门禁系统

stm32 rc522

rc522能实现什么功能

rc522引脚图

stm32接rc522

发表rc522,rc522哪家好采购找万联芯城相关评论 (已有 条评论)

评论列表

    快来评论,快来抢沙发吧~