Online Store

MIFARE® Card Programming - µFR Advanced Software SDK

Advanced MIFARE® Cards reading & writing source code software example

MIFARE SDK доступен на следующих языках программирования

  • Java (включая апплет),
  • JavaScript,
  • Лазарь
  • Борланд Дельфы,
  • Конструктор C++,
  • Microsoft® Visual C++ .NET,
  • Microsoft® Visual C# .NET,
  • Microsoft® Visual Basic .NET

Docs & Software Download

Линейныйзапись, LinearWrite_AKM1, LinearWrite_AKM2, LinearWrite_PK

Эти функции используются для записи данных с использованием эмуляции линейного адресного пространства. Способ доказательства подлинности определяется суффиксом в названиях функции:MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 1

  • aucData — Указатель на последовательность байтов, содержащих данные для записи
  • usLinearAddress — Линейный адрес, по которому предназначена запись данных
  • usDataLength — Количество байт для записи. В aucData перед вызовом функции должен быть выделен минимум usDataLength байт
  • lpusBytesWritten — Указатель на переменную типа "unsigned short", где записывается количество успешно считанных байтов с карты. Если запись успешно завершена, эти данные равны параметру usDataLength. Если произошла ошибка при записи некоторых блоков, функция возвращает количество успешно записанных байтов по этому параметру.
  • ucAuthKey — этот параметр определяет, следует ли выполнять проверку подлинности с помощью ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
 

ЛинейныйформатКарта, LinearFormatCard_AKM1, LinearFormatCard_AKM2, LinearFormatCard_PK

Эти функции используются для записи новых клавиш A и B, а также для доступа к битам в трейлерах всех секторов. Включена настройка девятых байтов трейлеров (байт общего назначения, в который можно ввести любое значение). Во всех секторных трейлерах для всей карты устанавливается одинаковое значение, поэтому действительны одни и те же ключи и права доступа. Поскольку необходимо доказать подлинность на основе предыдущих ключей перед записью в секторные прицепы, эти функции потенциально подходят для инициализации новой карты (аутентификация осуществляется с помощью ключей транспортировки, все байты ключей 0xFF) или для повторной инициализации ее с теми же ключами и правами доступа для всех секторов. Конечно, всегда нужно быть осторожным с ранее установленными правами доступа (битами доступа) в случае, если изменение некоторых ключей или битов для управления правами доступа отключено.

СекторТрейлерНаписать

Эта функциональная группа обеспечивает большую гибкость в секторных прицепах, инициирующих:MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 2

  • aucNewKeyA — Указатель на массив размером 6 байт, содержащий новый ключ A
  • ucBlocksAccessBits — значения битов доступа, определяющие разрешения для всех блоков данных. Он может иметь значения от 0 до 7
  • ucSectorTrailersAccessBits — значение битов доступа, определяющее права доступа для всех трейлеров секторов. Он может иметь значения от 0 до 7
  • ucSectorTrailersByte9 — значение битов доступа, определяющее права доступа для всех трейлеров секторов. Он может иметь значения от 0 до 7
  • aucNewKeyB — Указатель на массиве размером 6 байт, содержащем новый ключ B
  • lpucSectorsFormatted — указатель на переменную типа "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 3

  • 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 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15. Весь блок (16-байтовый блок) всегда считывается.

 

Эти функции позволяют считывать содержимое прицепов сектора (его доступная часть для чтения, в зависимости от установленных прав доступа).

  • aucData — Указатель на массив байтов, в котором будут храниться считываемые данные. Перед вызовом функции должно быть выделено не менее 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 Расширенное программное обеспечение с SDK для тегов карт MIFARE 4

  • 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 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15. Эта группа функций не позволяет напрямую вводить данные в сектор прицепов. Для этого воспользуйтесь специальными функциями SectorTrailerWrite и SectorTrailerWriteUnsafeMIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 5

  • aucData — Указатель на количество байтов, в которых будут храниться прочитанные данные. Перед вызовом функции должно быть выделено не менее 16 байт
  • ucSectorAddress — Адрес сектора
  • ucBlockInSectorAddress — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
  • aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
 

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER.

СекторТрейлерРайт, SectorTrailerWrite_AKM1, SectorTrailerWrite_AKM2, SectorTrailerWrite_PK

Эти функции используются для записи данных в секторе трейлеров. Функции также могут использоваться для адресации блоков прицепов секторов, а также для адресации сектора, который определяется параметром ucAddressingMode. MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 6В случае адресации блока первый блок имеет адрес 0; прицеп имеет адрес первого сектора 3 и следующий 7 и т.д. до последнего блока MIFARE® 1k, который также является прицепом последнего сектора и имеет адрес 63. Эта группа функций упрощает настройку битов для установки прав доступа к блокам (битов доступа) и минимизирует возможность постоянной блокировки всего сектора из-за неправильного форматирования этих битов. Форматирование битов доступа производится RFID-считывателем перед записью. Пользователи API могут выбрать соответствующие блоки прав доступа, которые представлены значениями от 0 до 7 и передать их этим функциям.

 

Для секторных прицепов действительны следующие права доступа:MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 7

  • Биты доступа C1 C2 C3
  • Доступ к значениям (отправляется в функцию)
  • Права доступа
  • Байты ключа A, содержащие биты доступа и девятибайтовый ключ B
  • Чтение и письмо
 

Для секторных прицепов действительны следующие права доступа:

* Если права доступа для секторного трейлера соответствующего сектора настроены таким образом, чтобы можно было прочитать ключ B, он не может быть использован для аутентификации ни в одном из случаев. Эти функции также устанавливают новые ключи секторов, если разрешены права доступа.

  • Биты доступа C1 C2 C3MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 8
  • Доступ к значениям (отправляется в функцию)
  • Права доступа
  • Чтение, запись, приращение, уменьшение
 
  • 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 секторов, второй половины адресного пространства. Поэтому в этих секторах права доступа устанавливаются следующим образом:

  • права доступа к первым 5 блокам — ucBlock1AccessBits Блок значений доступа для первого сектора
  • права доступа ко вторым 5 блокам — ucBlock2AccessBits Блок значений доступа для первого сектора
  • права доступа к последним 5 блокам:
    • ucSectorTrailerAccessBits — Значение доступа для секторного трейлера
    • ucSectorTrailerByte9 — Байт девятого сектора прицепов — это байт общего назначения, где может быть введено любое однобайтовое значение
    • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
    • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
    • aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.

СекторТрайлерНаписатьНебезопасно, 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 байт) представляет одно четырехбайтовое значение. В этом режиме можно добавить любой блок данных (кроме, конечно, блока 0, нулевого сектора и секторного прицепа). Значения в блоках значений отформатированы особым образом и в дополнение к записям значений содержат однобайтовое значение адреса, что дает пользователям дополнительную возможность реализовать систему резервного копирования.

RFID-считыватели D-Logic заботятся о правильном форматировании блоков значений, поэтому пользователям доступен набор функций, которые обрабатывают только четыре байтовых значения. Следует отметить, что использование значений блоков имеет смысл, если права доступа к нужному блоку установлены на значениях 1, 6 или 0 (по умолчанию в новой карте), что позволяет увеличивать и уменьшать их значения. Прежде всего, блоки значений должны быть инициированы, значение и связанный с ним адрес должны соответствовать соответствующему формату шестнадцатибайтовых записей. Лучший и самый простой способ инициализации блоков значений — это набор функций Windows API IS21 ValueBlockWrite или ValueBlockInSectorWrite.

ValueBlockЧитать, ValueBlockRead_AKM1, ValueBlockRead_AKM2 ValueBlockRead_PK

Эти функции выполняют то же самое, что и функции группы ValueBlockRead, и подходят для чтения 4-байтовых значений блоков значений. Кроме того, они возвращают связанный адрес, хранящийся в блоке значений. Единственным отличием является использование так называемой секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.

MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 9

  • lValue — указатель на переменную длинного типа, для которой возвращает блок значений
  • ucValueAddr — Байт девятого сектора прицепов — это байт общего назначения, где может быть введено любое однобайтовое значение
  • ucSectorAddress — Адрес сектора
  • ucBlockInSectorAddress — Блокировка адреса в секторе
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
  • ucReaderKeyIndex — e метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа от RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
  • aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
 

ValueBlockInSectorЧитать, ValueBlockInSectorRead_AKM1, ValueBlockInSectorRead_AKM2, ValueBlockInSectorRead_PK

Эти функции выполняют то же самое, что и функции группы ValueBlockRead, и подходят для чтения 4-байтовых значений блоков значений. Кроме того, они возвращают связанный адрес, хранящийся в блоке значений. Единственным отличием является использование так называемой секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.

MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 13

  • lValue — указатель на переменную длинного типа, для которой возвращает блок значений
  • ucValueAddr — Указатель на переменную беззнакового типа 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 Расширенное программное обеспечение с SDK для тегов карт MIFARE 14

  • lValue — значение для записи блока значений
  • ucValueAddr — адрес, связанный с блоком значений
  • ucBlockAddress — Заблокировать адрес
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
  • aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
 
 

ValueBlockInSectorНаписать, ValueBlockInSectorWrite_AKM1, ValueBlockInSectorWrite_AKM2, ValueBlockInSectorWrite_PK

Эти функции аналогичны групповым функциям ValueBlockWrite. Они используют для ввода, значения блоков 4 байта значений инициализации. Кроме того, соответствующий адрес сохраняется в значении блока. Единственным отличием является использование секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 15

  • 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 Расширенное программное обеспечение с SDK для тегов карт MIFARE 16

  • lIncrementValue — значение приращения блока значений
  • ucBlockAddress — Блокировка адреса в секторе
  • ucSectorAddress — Адрес сектора
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
  • aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
 
 

ValueBlockInSectorДобавление, ValueBlockInSectorIncrement_AKM1, ValueBlockInSectorIncrement_AKM2, ValueBlockInSectorIncrement_PK

Эти функции имеют то же назначение, что и функции группы ValueBlockIncrement, и используются для чтения 4-байтовых значений блоков значений. Значение приращения блока значений отправляется в качестве параметра этих функций. Единственным отличием является использование секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.MIFARE SDK - uFR Расширенное программное обеспечение с SDK для меток карт MIFARE 17

  • lIncrementValue — значение приращения блока значений
  • ucSectorAddress — Адрес сектора
  • ucBlockInSectorAddress — Блокировка адреса в секторе
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
  • aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
 
 

ValueBlockДекремент, ValueBlockDecrement_AKM1, ValueBlockDecrement_AKM2, ValueBlockDecrement_PK

Этот набор функций используется для уменьшения 4-байтового значения блоков значений. Значение декремента блока значений отправляется в качестве параметра этих функций. Функции используют адресацию блоков (первый блок имеет адрес 0; первый сектор прицепа имеет адрес 3, следующий 7 и т. Д. До последнего блока MIFARE® 1K, который также является прицепом последнего сектора, имеет адрес 63).MIFARE SDK - uFR Расширенное программное обеспечение с SDK для тегов карт MIFARE 18

  • lDecrementValue — значение декремента блока значений
  • ucBlockAddress — Блокировка адреса в секторе
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет проверку подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
  • aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
 
 

ValueBlockInSectorДекремент, ValueBlockInSectorDecrement_AKM1, ValueBlockInSectorDecrement_AKM2, ValueBlockInSectorDecrement_PK

Эти функции работают так же, как и функции группы ValueBlockDecrement и создаются для блоков значений 4 байта декремента. Значение декремента блока значений отправляется в качестве параметра этим функциям. Единственным отличием является использование секторальной адресации. Это включает в себя отдельную отправку адресов секторов и адресов блоков в секторе. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине адресного пространства организация отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15MIFARE SDK - uFR Расширенное программное обеспечение с SDK для меток карт MIFARE 19

  • lDecrementValue — значение декремента блока значений
  • ucSectorAddress — Адрес сектора
  • ucBlockInSectorAddress — Блокировка адреса в секторе
  • ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
  • ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
  • aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.