RFIDCHIP.info
Все ЦТО России: размещение и поиск ЦТО на интерактивной карте
Русский Английский Немецкий 
< Новости > < Наш "Hard" & "Soft" > < Загрузки > < On-line магазин > < Конференции на kkm.info > < Техническая документация > < Поиск > < Гостевая книга > < Внедрения технологии и обзоры > < Разделы > < Ссылки > < Контакты >

v Описание формата карты Mifare 1K компании MikleSoft

19.06.2005, Lead Programmer


версия 1.01

Покольку карты Mifare изначально проектировались как многоцелевые (для нескольких применений одновременно), наша компания разработала формат (который будет поддерживаться в дальнейшем), который позволит сторонним разработчикам использовать карты (уже применяющиеся для работы с ПО нашей компании) для своих нужд.
Мы всячески призываем к сотрудничеству, ибо стандартизация - вещь великая.

Описание формата

СЕКТОР 0: заголовок карты
  • блок 0 - данные производителя (номер карты и проч), пишется Филипсом, не может быть перезаписан
  • блок 1 - заголовок карты
  • блок 2 - не используется
  • блок 3 - прицеп
    Доступ к сектору 0 должен быть сконфигурирован таким образом, чтобы читать его могли все стандартным ключем (шесть нолей) для быстрой идентификации типа карты.
    Запись сектора закрывается ключем B. Ключ B по умолчанию для сектора 0: "HEADER" в кодировке win1251 (в двоичном виде: 0x48 0x45 0x41 0x44 0x45 0x52)
    Если по каким-либо причинам вы хотите блокировать изменение формата карты - изменяйте ключ В.
    Формат заголовка карты:
    0x4D 0x4B 0x53 XX CS
    где XX - порядковый номер версии формата карты, начиная с 1
    CS - контрольная сумма, считается простым сложением, т.е. она равна (0xEB+номер версии)
    СЕКТОР 1: каталог карты
    каталог карты представляет собой массив идентификаторов секторов. Одному сектору соответствует двухбайтовый идентификатор, определяющий его применение. В каталоге идентификаторы начинаются с сектора 2 (ибо сектора 0 и 1 жестко заняты). Запись 00 00 в поле идентификатора указывает на то, что сектор не используется.
    В идентификаторе сектора старший (первый) байт рекомендуется использовать в качестве идентификатора разработчика (MikleSoft=0xA0 или 0xA1), а младший байт - в качестве конретного приложения разработчика.
    В хвосте каталога (байты 28 и 29) - контрольная сумма (считается простым сложением)

    Т.е. идеология простая: чистая карта содержит пустой каталог (заполненый нолями). Первая программа может занимать любой сектор (или несколько), записав в каталог свой идентификатор (а в соответствующий сектор - произвольную информацию)

    В каждом сеансе работы, ПО считывает каталог и ищет "свои" сектора, а далее работает с ними. Т.е. вся идея в том, что если на карте есть свободное место - оно может быть произвольно использовано впоследствии.

    Пример каталога:
    байт № 00 0102 0304 0506 0708 0910 11....28 29
    значение 0xA0010xA0020xA0100xA0110xB0000x0000....К.С.
    по такой записи видно, что сектор 2 занят под применение 1 компании MikleSoft, сектор 3 - под применение 2, сектор 4 - под применение 0х11, а сектор 5 - используется в ПО разработчика 0xB0, сектор 6 - свободен.
    Сектор каталога доступен для чтения по стандартному ключу 00 00 00 00 00 00, а на запись - по ключу В: "CATAL." (в двоичном: 0x43 0x41 0x54 0x41 0x4С 0x2E)
    Если по каким-то причинам хотите ограничить дальнейшее использование карты - измените ключ В для сектора каталога.

    На сегодня список зарезервированных идентификаторов разработчика:
    0xA0 = MikleSoft - программы лояльности, контроль доступа и прочее не связанное с платежами
    0xA1 = MikleSoft - решения, связанные с финансовыми транзакциями(операциями с цифровыми титульными знаками частных платёжных систем)
    0x01 = Штрих-М
    0x02 = НТКФ "Гамбит"(г.Новосибирск)
    0x03 = "Центр готовых решений - Isoft", г.Алматы, базовый системный интегратор Республики Казахстан

    Для резервирования идентификатора под ПО своей компании пишите нам.


  • >> добавить комментарий ^ вверх Техническая документация <<

    17.01.2014 12:52:56, Перевод

     

    Мне клиент сказал, что надо взять порядковый номер чипа в шестандцатиричной системе и перевести его в десятичную.

    Как правильно это сделать?

    Вопрос не в самом переводе (информатику в школе проходили) а в том, что он имеет ввиду под номером чипа карты.

    Как его правильно определить?

    24.01.2007 13:48:52, Николай

     

    А формат 4К карты получить можно???

      ^ вверх  

    число посещений статьи: 14975


    r

    Copyright © 1998-2010 MikleSoft™ company