在线商店

MIFARE®卡编程- μ FR高级软件SDK

高级MIFARE®卡读写源代码软件示例

MIFARE SDK支持以下编程语言

  • Java(包括Applet),
  • JavaScript,
  • 拉撒路,
  • Borland Delphi,
  • c++ Builder,
  • 微软®Visual c++ .NET,
  • 微软®Visual c# .NET,
  • 微软®Visual Basic .NET

文档和软件下载

LinearWrite, LinearWrite_AKM1, LinearWrite_AKM2, LinearWrite_PK

这些函数用于使用模拟线性地址空间写入数据。证明真实性的方法由函数名中的后缀决定:MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • aucData -指向包含要写入数据的字节序列的指针
  • usLinearAddress -数据写入的线性地址
  • usDataLength表项的字节数。在aucData中,在调用函数之前必须分配最少的usDataLength字节
  • lpusBytesWritten -指向“unsigned short”类型变量的指针,其中写入从卡中成功读取的字节数。如果条目成功完成,则该数据等于usDataLength参数。如果在写入某些块时出现错误,该函数将通过该参数返回成功写入的字节数。
  • ucAuthKey -该参数定义使用密钥A还是密钥b进行身份验证。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区。

线性formatcard,线性formatcard_akm1,线性formatcard_akm2,线性formatcard_pk

这些功能用于新键A和B写入以及所有扇区拖车中的访问位。启用了第9个拖尾字节的设置(可以输入任何值的通用字节)。在所有扇区拖车中,为整个卡设置相同的值,因此相同的密钥和访问权限是有效的。由于在写入扇区之前,有必要在先前密钥的基础上证明真实性,因此这些函数可能适用于初始化新卡(身份验证是使用传输密钥执行的,所有密钥字节都是0xFF),或者使用所有扇区的相同密钥和访问权限重新初始化它。当然,必须始终小心之前设置的访问权限(访问位),以防访问权限控制的某些密钥或位的更改被禁用。

SectorTrailerWrite

这个函数组在扇区拖车启动时提供了更大的灵活性:MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • 在包含新a键的6字节数组上的指针
  • ucBlocksAccessBits -为所有数据块定义权限的访问位值。它的值可以是0到7
  • ucSectorTrailersAccessBits -为所有扇区拖车定义访问权限的访问位值。它的值可以是0到7
  • ucSectorTrailersByte9 -为所有扇区拖车定义访问权限的访问位值。它的值可以是0到7
  • 包含新B键的6字节数组上的指针
  • lpucsectorsformatting -指向“unsigned char”类型变量的指针,通过该变量返回成功格式化的扇区拖车的数量。如。如果所有扇区拖车都成功初始化,则在MIFARE上®1K,通过这个参数返回值16,它表示扇区的数量。如果出现错误,该参数表示从零开始成功初始化的扇区数量。
  • ucauthmode该参数定义验证是A密钥还是B密钥。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区。
  • aucProvidedKey -指向第六个字节字符串的指针,该字符串包含在“提供的密钥”方法中用于真实性验证的密钥。_PK函数名中的后缀表示该方法的用法。

用于处理数据块的函数

BlockRead, BlockRead_AKM1, BlockRead_AKM2, BlockRead_PK

这个函数组用于读取块内容。总是读取整个块(块的16字节)。函数使用所谓的块寻址(第一个块的地址为0;第一个扇区拖车的地址是3,下一个是7,等等,直到最后一个MIFARE®1K区块也是最后一个扇区的拖车,地址为63)。这些函数还允许读取扇区预告片内容(其可读取的部分,取决于访问权限集)。

MIFARE SDK - uFR高级软件,SDK用于MIFARE卡标签

  • aucData -指向将存储读数据的字节数的指针。在调用函数之前,必须分配至少16个字节。
  • ucBlockAddress - ucAuthMode块地址。该参数定义验证是A密钥还是B密钥。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
  • ucSectorTrailersByte9 -为所有扇区拖车定义访问权限的访问位值。它的值可以是0到7
  • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

这些函数的工作原理与BlockRead组函数相同,是为块内容读取而设计的。唯一的区别是使用了部门称谓。这包括在一个扇区内分别发送扇区地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。总是读取整个块(16字节块)。

这些函数可以读取扇区预告片内容(其可读取的部分,取决于访问权限集)。

  • aucData -指向bytes数组的指针,读取数据将存储在该数组中。在调用函数之前,必须分配至少16个字节
  • ucSectorAddress部门地址
  • ucBlockInSectorAddress扇区内的块地址
  • ucAuthMode -该参数定义使用A密钥还是B密钥进行身份验证。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
  • aucProvidedKey -指向第六字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示所使用的方法。

BlockWrite, BlockWrite_AKM1, BlockWrite_AKM2, BlockWrite_PK

这些函数用于向块中输入数据(每次16个字节)。函数使用所谓的块寻址(第一个块的地址为0;第一个扇区拖车的地址是3,下一个是7,等等,直到最后一个MIFARE®1K块(也是最后一个扇区的拖车)的地址是63)。这个函数组不允许直接数据进入扇区预告片。为此,使用特殊函数SectorTrailerWrite和SectorTrailerWriteUnsafe。

MIFARE SDK - uFR高级软件,支持MIFARE卡标签SDK

  • aucData -指向将存储读数据的字节数的指针。在调用函数之前必须分配至少16个字节
  • ucBlockAddress卡块地址
  • ucAuthMode—该参数定义使用密钥A还是密钥b进行身份验证。它有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式下,这适用于所有读取的扇区
  • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER。

BlockInSectorWrite、BlockInSectorWrite_AKM1、BlockInSectorWrite_AKM2、BlockInSectorWrite_PK

这些函数的工作原理与BlockWrite组函数相同;它们用于将数据输入(每次16字节)到块中。唯一的区别是扇区寻址的使用。扇区寻址是指在一个扇区内将发送扇区地址和块地址分开。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。这个函数组不允许直接数据进入扇区预告片。为此,使用特殊函数SectorTrailerWrite和SectorTrailerWriteUnsafeMIFARE SDK - uFR高级软件,SDK用于MIFARE卡标签

  • aucData -指向将存储读数据的字节数的指针。在调用函数之前必须分配至少16个字节
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress -该参数定义使用A密钥还是B密钥进行认证。它可以有两个值,即:AUTHENT1A (0x60)或AUTHENT1B (0x61)
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
  • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER。

SectorTrailerWrite、SectorTrailerWrite_AKM1、SectorTrailerWrite_AKM2、SectorTrailerWrite_PK

这些函数用于扇区拖车中的数据写入。函数也可以用于扇区尾块寻址以及由ucAddressingMode参数决定的扇区寻址。MIFARE SDK - uFR高级软件,SDK用于MIFARE卡标签在块寻址的情况下,第一个块的地址为0;拖车的第一扇区地址为3,下一个扇区地址为7,等等,直到MIFARE®1k的最后一个块也是最后一个扇区的拖车,其地址为63。这组函数简化了块访问权限设置(访问位)的位操作,并最大限度地减少了由于这些位的错误格式而导致整个扇区永久阻塞的可能性。在写入之前,RFID阅读器对访问位进行格式化。API用户可以选择适当的块访问权限(由值0到7表示)并将其传输给这些函数。

对于扇形拖车,以下访问权限是有效的:MIFARE SDK - uFR高级软件,SDK用于MIFARE卡标签

  • 访问位C1 C2 C3
  • 访问值(提交给函数)
  • 访问权限
  • 包含访问位的键A字节和包含9字节的键B
  • 阅读和写作

对于扇形拖车,以下访问权限是有效的:

*如果适当扇区的扇区尾的访问权限设置为可以读取b Key,则在任何情况下都不能用于身份验证。这些功能还设置新的扇区密钥,如果它被允许访问权限。

  • 访问位C1 C2 C3MIFARE SDK - uFR高级软件,具有用于MIFARE卡标签的SDK
  • 访问值(提交给函数)
  • 访问权限
  • 读,写,增,减
  • ucAddressingMode -指定地址模式。取值为BLOCK_ADDRESS_MODE (0x00)或SECTOR_ADDRESS_MODE (0x01)。如果发送任何其他值,该函数返回错误码WRONG_ADDRESS_MODE
  • ucAddress -扇区或扇区拖车块地址,取决于ucAddressingMode。当使用扇区地址模式时,例如MIFARE Classic®1K,取值范围为0 ~ 15(共有16个扇区)。相同类型的块寻址模式可以使用从0到63的值,如果寻址的块不是扇区尾,则会发生错误。
  • aucNewKeyA -指向6字节数组的指针,该数组表示指定扇区的新a键,如果之前允许访问权限,则将设置该数组
  • aucNewKeyB -指向六字节数组的指针,该数组表示指定扇区的新B键,如果之前允许访问权限,则将设置该数组
  • ucBlock0AccessBits -扇区0块的访问值。

MIFARE®4k对后8个扇区(地址空间的后半部分)有不同的组织。因此,在这些扇区中,访问权限设置如下:

  • ucBlock1AccessBits第一个扇区的访问值块
  • ucBlock2AccessBits第一个扇区的访问值块
  • 最后5个块的访问权限:
    • ucSectorTrailerAccessBits -扇区预告片的访问值
    • ucSectorTrailerByte9 -第9个扇区后面的字节是一个通用的字节,可以输入任何单字节的值
    • ucAuthMode -该参数定义使用密钥A还是密钥b进行身份验证。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
    • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
    • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

SectorTrailerWriteUnsafe、SectorTrailerWriteUnsafe_AKM1、SectorTrailerWriteUnsafe_AKM2、SectorTrailerWriteUnsafe_PK

这些函数与SectorTrailerWrite组的函数具有相同的目的,不同之处在于发送“原始”扇区预告内容,并且在格式化输入的访问位值时可能会出现错误。这些函数适用于具有使用MIFARE经验的开发人员®.所有提到的SectorTrailerWrite组函数的规则都适用于这些函数,除了扇区尾部输入的“原始”数据选项。

  • ucAddressingMode -指定地址模式。取值为BLOCK_ADDRESS_MODE (0x00)或SECTOR_ADDRESS_MODE (0x01)。如果发送了其他值,则函数返回错误码WRONG_ADDRESS_MODE。
  • ucAddress -扇区或扇区拖车块地址,取决于ucAddressingMode。

当使用扇区地址模式时,在MIFARE®1K的情况下,范围可以从0到15(有16个扇区),块寻址模式下的相同类型可以使用0到63的值,如果寻址的块不是扇区尾,则可能会出现错误。

  • aucSectorTrailer -指向6字节数组的指针,该数组包含地址扇区预告条目的“原始”数据
  • ucAuthMode -该参数定义是执行验证密钥A还是b。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
  • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

用于处理值块的函数

值块表示可选的MIFARE®功能。这实际上是一种整个数据块(16字节)表示一个4字节值的模式。在此模式下,您可以添加任何数据块(当然,块0、零扇区和扇区尾除外)。值块中的值以一种特殊的方式格式化,除了值记录之外,还包含一个字节的地址值,这为用户提供了实现备份系统的额外能力。

D-Logic RFID阅读器负责正确的值块格式化,因此用户可以使用一组仅处理四个字节值的函数。应该提到的是,如果对所需块的访问权限设置为值1,6或0 (new card中的默认值),则允许其值递增或递减,则使用值块是有意义的。首先,值块必须被初始化,值和关联的地址必须符合16字节记录的适当格式。值块初始化的最佳和最简单的方法是使用一组Windows API函数IS21 ValueBlockWrite或ValueBlockInSectorWrite。

ValueBlockRead, ValueBlockRead_AKM1, ValueBlockRead_AKM2, ValueBlockRead_PK

这些函数与ValueBlockRead组函数相同,适用于读取值块的4字节值。此外,它们返回存储在值块中的关联地址。唯一的区别是使用了所谓的部门称谓。部门寻址是指在一个部门内分别发送部门地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。

MIFARE SDK - uFR高级软件,SDK用于MIFARE卡标签

  • lValue -指向一个长类型变量的指针,值块在该变量上返回
  • ucValueAddr——第9个扇区后面的字节是一个通用的字节,可以在其中输入任何单字节的值
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress扇区的块地址
  • ucAuthMode -该参数定义是执行验证密钥A还是b。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex - e默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID阅读器中选择的密钥索引来执行真实性证明。在线性地址模式下,它适用于所有扇区进行写入
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

ValueBlockInSectorRead, ValueBlockInSectorRead_AKM1, ValueBlockInSectorRead_AKM2, ValueBlockInSectorRead_PK

这些函数与ValueBlockRead组函数相同,适用于读取值块的4字节值。此外,它们返回存储在值块中的关联地址。唯一的区别是使用了所谓的部门称谓。部门寻址是指在一个部门内分别发送部门地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。

MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • lValue -指向一个长类型变量的指针,值块在该变量上返回
  • ucValueAddr -指向unsigned char类型变量的指针,通过单字节地址返回,这为备份系统实现提供了额外的能力
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress扇区的块地址
  • ucAuthMode -该参数定义是执行验证密钥A还是b。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式下,它适用于所有扇区进行写入
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

ValueBlockWrite, ValueBlockWrite_AKM1, ValueBlockWrite_AKM2, ValueBlockWrite_PK

这些函数用于初始化和写入第四个字节值块的值,并将相关地址存储在值块中。函数使用所谓的块寻址(第一个块的地址为0;拖车的第一扇区地址为3,下一个扇区地址为7,等等,直到MIFARE®1k的最后一个块也是最后一个扇区的拖车,其地址为63)。MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • lValue -值块条目的值
  • ucValueAddr值块关联地址
  • ucBlockAddress块地址
  • ucAuthMode -该参数定义使用A密钥还是B密钥进行身份验证。它可以有两个值,即AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式中,这适用于所有写入的扇区
  • aucProvidedKey -指向第六个字节数组的指针,该数组包含在“提供的密钥”方法中用于真实性证明的密钥。_PK函数名中的后缀表示该方法的用法。

ValueBlockInSectorWrite, ValueBlockInSectorWrite_AKM1, ValueBlockInSectorWrite_AKM2, ValueBlockInSectorWrite_PK

这些函数类似于ValueBlockWrite组函数。他们使用4个字节的值块进行初始化。此外,将关联的地址存储到块值中。唯一的区别是部门称谓的使用。部门寻址是指在一个部门内分别发送部门地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。MIFARE SDK - uFR高级软件,具有用于MIFARE卡标签的SDK

  • lValue -值块条目的值
  • ucValueAddr值块关联地址
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress扇区块地址
  • ucAuthMode—定义验证密钥A或b。取值为AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式下,它适用于所有扇区进行写入
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

ValueBlockIncrement, ValueBlockIncrement_AKM1, ValueBlockIncrement_AKM2, ValueBlockIncrement_PK

该特性集用于增加4个字节值块的值。值块增量的值作为这些函数的参数发送。函数使用块寻址(第一个块的地址为0;第一个扇区拖车的地址是3,下一个是7,等等,直到最后一个MIFARE®1K块(也是最后一个扇区的拖车)的地址是63)。MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • lIncrementValue -块增量的值
  • ucBlockAddress扇区的块地址
  • ucSectorAddress扇区地址
  • ucAuthMode—定义验证密钥A或b。取值为AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式下,它适用于所有扇区进行写入
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

ValueBlockInSectorIncrement, ValueBlockInSectorIncrement_AKM1, ValueBlockInSectorIncrement_AKM2, ValueBlockInSectorIncrement_PK

这些函数与ValueBlockIncrement组函数具有相同的目的,用于读取值块的4字节值。值块增量的值作为这些函数的参数发送。唯一的区别是部门称谓的使用。部门寻址是指在一个部门内分别发送部门地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内。MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • lIncrementValue -块增量的值
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress扇区内的块地址
  • ucAuthMode—定义验证密钥A或b。取值为AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。线性地址模式适用于所有扇区进行写操作
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

valueblockdecement, ValueBlockDecrement_AKM1, ValueBlockDecrement_AKM2, ValueBlockDecrement_PK

这组函数用于递减值块的4字节值。值块递减的值作为这些函数的参数发送。函数使用块寻址(第一个块的地址为0;第一个扇区拖车的地址是3,下一个是7,等等,直到最后一个MIFARE®1K块(也是最后一个扇区的拖车)的地址是63)。MIFARE SDK - uFR高级软件,具有用于MIFARE卡标签的SDK

  • lDecrementValue -值块递减的值
  • ucBlockAddress扇区内的块地址
  • ucAuthMode—定义验证密钥A或b。取值为AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。线性地址模式适用于所有扇区进行写操作
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。

ValueBlockInSectorDecrement, ValueBlockInSectorDecrement_AKM1, ValueBlockInSectorDecrement_AKM2, ValueBlockInSectorDecrement_PK

这些函数的工作原理与ValueBlockDecrement组函数相同,是为4字节值块递减而设计的。值块递减的值作为参数发送给这些函数。唯一的区别是部门称谓的使用。这包括在一个扇区内分别发送扇区地址和块地址。对于MIFARE®1K扇区地址可能在0到15之间,扇区内的块地址范围在0到3之间。对于MIFARE®4k扇区地址可能在0到39的范围内,由于地址空间组织的后半段不同(超过2 MB),最后8个扇区(32到39扇区)中的块地址可能在0到15的范围内MIFARE SDK - uFR高级软件,带有用于MIFARE卡标签的SDK

  • lDecrementValue -值块递减的值
  • ucSectorAddress扇区地址
  • ucBlockInSectorAddress扇区内的块地址
  • ucAuthMode—定义验证密钥A或b。取值为AUTHENT1A (0x60)或AUTHENT1B (0x61)。
  • ucReaderKeyIndex -默认的身份验证方法(当使用没有后缀的函数时)通过使用从RFID读取器中选择的密钥索引来执行真实性证明。在线性地址模式下,它适用于所有扇区进行写入
  • aucProvidedKey -指向六字节数组的指针,该数组包含用于“提供的密钥”方法的身份验证的密钥。_PK函数名后缀表示使用此方法。
Baidu
map