射频卡密码验证问题
? ? ? ? ? ? ?最近在寫一個操作射頻卡的程序其中遇到了一些問題分享一下。
? ? ? ? ? ? ?射頻卡介紹:射頻卡主要分16個扇區,每個扇區有4個模塊,其中扇區的第四個模塊是密碼塊,其它的是數據塊(第一個扇區除外,因為第一個扇區的第一個模塊存儲的是射頻卡的卡號)。
? ? ? ? ? ? 射頻卡的密碼塊分三部分 ?1:密碼區域A(6個字節)默認值(0xff, 0xff, 0xff, 0xff, 0xff,0xff) ?2:控制讀寫操作的密碼區域(4個字節) ?3:密碼區域B(6個字節) ?在修改射頻卡密碼的時候最好只修改密碼密碼區域1,驗證的時候也用修改過的密碼區域1來驗證,密碼區域2和密碼區域3用原來默認的,最好不要做修改。一般情況下密碼區域2默認值(?0xff,0x07, 0x80, 0x69) 密碼區域3默認值(0xff, 0xff, 0xff, 0xff, 0xff,0xff)。
? ? ? 起初修改的時候只修改密碼區域1直接傳入6個字節,但是用新密碼驗證的時候也通過了,但是讀寫都不起作用,之后不斷嘗試才知道,在修改密碼的時候也要把默認的區域2和區域3傳進去,假如修改的密碼為(0x00,0x00,0x00,0x00,0x00,0x00)那么修改密碼傳進去的應該是16個字節 ? 修改的密碼+區域2+區域3,驗證的時候用前6個字節就可以了。
總結
- 上一篇: 【经验】gitHub上很棒的一些Unit
- 下一篇: windows powershell激活