我需要在WinSCard中阅读MiFare卡的序列号。我可以从MiFare卡上读取7B UID。
令人困惑的是,我不知道UID和序列号是否正确 MiFare卡是一样的吗?!!
我搜索了这个问题,但只能获得部分成功。我在stackoverflow上找到了question,但它没有帮助。
我在网上找到了document恩智浦,其中说UID和序列号不同。 (在第3页,第5行)
有一个OmniKey应用程序读取卡的序列号,它也只返回UID。
恩智浦文档说 UID<>序列号和另一个标准OmniKey应用程序返回 UID作为序列号。
我已经开始在这个问题上脱掉头发了。如果有人能提供帮助,我将不胜感激。
答案 0 :(得分:14)
每个智能卡都包含一个集成芯片,其中包含在制造过程中刻录的唯一永久识别(UID)编号。 此UID通常称为卡序列号(CSN)。卡序列号未加密,任何符合ISO标准的读卡器都可以读取卡序列号。
修改1:
Mifare卡序列号是ISO 14443-3A中定义的唯一标识符。标准中定义了3种类型的UID - 单(4Byte),Double(7字节)和Triple(10字节)。只有较旧版本的Mifare卡,UID为4个字节,但现在已迁移到7个字节。
编辑2: 它可能对你有所帮助......
What is the difference between a 4 Byte UID and a 4 Byte ID?
4字节UID是由卡分配的标识符 制造商使用受控数据库。这个数据库确保了 单个标识符未使用两次。矛盾的是,4字节的ID是一个 可以分配给多个非接触式芯片的标识符 一个产品的生产时间,以便多于一张相同的卡 确定可以部署到一个特定的非接触式系统中。
答案 1 :(得分:3)
在这种情况下的区别在于“序列号”意味着数字是一系列,因此顺序分配。
MIFARE卡具有唯一标识号(或简称UID),这些标识号由内部规则生成,该内部规则不一定是顺序的。这意味着,如果你看到一张UID为01020304050607的卡片,那并不意味着到目前为止至少生产了那么多卡片。
如果您看到有人提到卡序列号,他们实际上是指UID。
唯一最后的混淆可能来自MIFARE卡可以配置为在激活期间返回随机ID。如果是这种情况,每次激活卡时都会得到不同的“UID”。在这种情况下,您需要读取块0中包含的数据(您需要知道扇区0的密钥)才能获得卡的真实UID。
答案 2 :(得分:0)
对于DesFire卡: