Sia-Ori писал(а):Болид хранит коды в виде TouchMemory, чтото вроде AB0000001F47CE01 , а на прокс-карте написано 31.18382
С основной частью битиков то всё ясно, а вот вычислить CRC8 сложнее.
Есть у кого калькулятор в экселе или что-то подобное, куда загрузить разом список карт - и получить по нему болидовские коды?
Ахренеть! Научите меня это делать - вот вам карта:Sia-Ori писал(а):Код тач мемори из номера (считай вейгандовского кода, правда, могут мешать ещё биты контроля чётности) удаётся получить всегда, вручную вычислив СRC8. Но штучно.
Путаница.AlexRuden писал(а):Ахренеть! Научите меня это делать - вот вам карта:Sia-Ori писал(а):Код тач мемори из номера (считай вейгандовского кода, правда, могут мешать ещё биты контроля чётности) удаётся получить всегда, вручную вычислив СRC8. Но штучно.
№ 12,3456
Виганд для этой карты - 290000000C0D8001
Посчитайте мне код тач мемори для этой карты.
Sia-Ori писал(а):Путаница.
Вейгандовский код - не такой. Вейганд, чаще всего Вейганд 26, - это:
- старший бит контроля чётности, even,
- 8 бит кода организации,
- 16 бит номера карты
- 1 бит контроля нечётности, odd.
Многие контроллеры позволяют крутить эти биты, как заблагорассудится. Чётность вычисляется для старших 13 бит, нечётность - для младших 13 бит.
Вы же и привели код ТМ для этой карты. Который выдаёт большинство считывателей с выходом TМ. Но не все.
Понятие фасилити
Исторически сложилось так что многие системы контроля доступа и изготовители карточек условно делят код карты на две неравные части которые называют фасилити и номер. Обычно к номеру относят младшие 16 бит кода, все остальное к фасилити. Причина такого деления — экономия памяти в очень старых контроллерах доступа. При монтаже объекта подбирались карты с одинаковым фасилити и в память контроллера записывались только младшие 16 бит кода метки (номер). С тех пор прошло много времени и подобная экономия давно в прошлом, но многие системы все еще оперируют этими понятиями, показывая код карты разделенным на части. В наше время никакой смысловой нагрузки такое разделение не имеет.
Контроль на четность
Если имеется контроль по четности, то к битам кода карты добавляются два бита — один перед кодом, другой после. Соответственно весь код карты делится ровно посередине на две части. Четность старшей половины кода контролируется первым битом, младшей — последним. Если количество бит в коде нечетное, то центральный бит кода входит в оба контроля четности.
Первый бит четности (старшей половины кода) ставится в 1 если количество единиц в его половине кода нечетное. Последний бит четности (младшей половины кода) ставится в 1 если количество единиц в его половине кода четное.
Надо заметить, что встречаются считыватели не подчиняющиеся этому правилу контроля четности. Поэтому реально большинство универсальных контроллеров СКУД просто игнорируют контроль на четность. Кроме того, некоторые форматы бесконтактных карт несут информацию о количестве бит кода и четности прямо на карте, соответственно считыватель не может никоим образом влиять на реальный выходной формат данных. Таков, например, формат HID ProxPass, Indala ASP и др.
Называть ТМ представление номера карты вейгандовским форматом - это неправильно, без всяких условий.AlexRuden писал(а):Таким образом это все условно.
Код тач мемори состоит из 6 байтов и пятый байт, записанный в ключе, нельзя сформировать из номера карты (брелока).
Так что пакетный преобразователь можно сделать только для Виганд26 (я себе пожалуй сделаю, пригодитсо)
Реже всего там ноль, Практически никогда. (в 6-ом из 8-ми байтов по-вашему).Sia-Ori писал(а):Там чаще всего ноль.
не ноль - что за считыватели у вас? Конкретные примеры, по возможности. Без общих фраз.AlexRuden писал(а):Реже всего там ноль, Практически никогда. (в 6-ом из 8-ми байтов по-вашему).Sia-Ori писал(а):Там чаще всего ноль.
8 байт.... - считыватели выдают мне код карты без CRC8 и байта семейства, значит их нет в памяти карты и их формирует контроллер.
Этот считыватель выдаёт считанное ни в вейганде, ни в ТМ.AlexRuden писал(а)::ze_va_et: Короче толочь воду в ступе можно долго...
Возьмите Proxy-USB-МА, переведите его в режим 5 байт + Enter HEX , прибавьте справа код семейства...
Что вы видите?
Я давно уже понял, что нельзя сформировать полный 8-ми байтный код (интерфейс TouchMemory) карты из тех цифр, что напечатаны на ней . Надеюсь, наигравшись с Proxy-USB-МА , поймете и вы.
Можно только формировать 3х-байтный код.(интерфейс Wiegand).
Засим откланиваюсь.
Я уже об этом писал во втором посте.Phoenix писал(а):На болидовском сайте есть такой вопрос: "Как преобразовать код карточек Виганд в формат кода Dallas TouchMemory?"
Оххх, пусть так.Sia-Ori писал(а):Всё вейганд, но это не мешает выдавать номера в разных форматах :)
Да вы оказывается ничего незнаете(, мне жаль что я тут распинался 2 страницы..Sia-Ori писал(а):Не нужно его знать. На объекте обычно есть карты одного-двух-трёх типов. У каждого типа своя цифирка, немножко свой алгоритм перевода.
Sia-Ori писал(а):Если цифирка идёт из номера карты - закономерность можно найти. Если тупо от считывателя - то и искать не надо.
Не знаю я этого. Думаю, считыватель сам генерит невесть что. Как в случае с USB-MA - с карты тянутся 5 байт, хотя в ней всего 24 бита+2 бита контрольной суммы.
Следующий пункт - писать битовые поля SQLem
Сейчас этот раздел просматривают: 2 гостя