获取存储的mifare标记的十六进制字符串

时间:2017-08-29 08:18:56

标签: hex uniqueidentifier rfid mifare serial-number

我必须将客户的徽章代码列表从旧软件导入到新软件中。代码指的是125Khz只读rfid徽章(很可能,不是100%纯粹的那种)。

如果我读了一个给定的徽章,新软件中产生的十六进制字符串是" 27000052B4",但在旧版本中它存储为" 30 30 30 30 30 32 31 31 37 32 0D 0A"。

我无法理解所应用的转化,以及如何获得" my"来自存储的代码。

某些"加密"已经应用于代码,或者存储的代码不是实际的mifare标签uid,而是存储在内存中的其他一些值,但我想问一下是否有人可以猜测如何,如果可能的话,得到"正常"来自旧值的十六进制代码。

作为参考,我在这里贴了几个旧/新对:

徽章n。 27000052B4,存储为:30 30 30 30 30 32 31 31 37 32 0D 0A

徽章n。 5B006E82AA,存储为:30 30 30 37 32 34 32 34 31 30 0D 0A

总结一下,我需要从存储的值开始以十六进制字符串获取徽章编号,以便在我使用新软件阅读时能够识别徽章/客户。

作为附加说明,尾随部分" 0D 0A"似乎只是一个CRLF,所有存储的徽章都是一样的。

1 个答案:

答案 0 :(得分:0)

我不确定徽章编号的前2位数字,但是存储的值是US-ASCII编码的字符串,其中包含徽章编号的尾随4(?)字节的十进制表示形式(和一个支架)返回+换行):

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

是字符串

"0000021172\r\n"

21172(十进制)是十六进制的0x52B4(即27000052B4的最后一部分)。类似地,十进制的7242410是十六进制的0x6E82AA(即5B006E82AA的最后一部分)。