2017-08-29 159 views
0

我必須將客戶的徽章代碼列表從舊軟件導入新代碼。代碼是指125Khz只讀rfid徽章(很可能,並非100%)。獲取存儲的mifare標籤的十六進制字符串

如果我讀了一個給定的徽章,新軟件中產生的十六進制字符串是「27000052B4」,但是在舊的時候它被存儲爲「30 30 30 30 30 32 31 31 37 32 0D 0A」。

我無法理解應用的轉換,以及如何從存儲的代碼中獲取「我的」代碼。

可能某種「加密」已應用於代碼,或者存儲的代碼不是實際的mifare標記uid,而是存儲在內存中的某種其他類型的值,但我想問是否有人可以猜測,如果可能的話,從舊值中獲取「正常」十六進制代碼。

作爲參考,我在這裏貼了幾個新/舊對:

徽章ñ。 27000052B4,存儲爲:30 30 30 30 30 32 31 31 37 32 0D 0A

badge n。 5B006E82AA,存儲爲:30 30 30 37 32 34 32 34 31 30 0D 0A

回顧一下,我需要從存儲的值開始以十六進制字符串的形式獲取徽章號碼,以便能夠識別徽章/客戶,當我用新軟件閱讀它。

作爲附加說明,尾部「0D 0A」似乎只是一個CRLF,對於所有存儲的徽章都是一樣的。

回答

0

我不確定徽章號碼的前兩位數字,但存儲的值是一個US-ASCII編碼的字符串,它包含徽章號碼尾部4(?)字節的十進制表示形式回車+換行):

 
30 30 30 30 30 32 31 31 37 32 0D 0A 

是字符串

 
"0000021172\r\n" 

21172十進制是0x52B4十六進制(即27000052B4最後部分)。同樣,十進制中的7242410是十六進制中的0x6E82AA(即5B006E82AA的最後一部分)。

+0

謝謝Michael。舊軟件只存儲徽章的最後一部分,或者在導出操作過程中「屏蔽」它們。 再次感謝您,我將其標記爲正確的答案。 – Alberto

相關問題