Просмотр полной версии : Прошу консультации
DSkurikhin
25.02.2013, 10:16
Здравствуйте, вопрос мой немного не по Киперу, но немного с ним свзан, если проконсультируете буду премного благодарен:
1) на кассовых станциях RKeeper используются платежные карты, карты формата EM Marine
2) к кассам соответственно подключены считыватели безконтактных карт
3) планируется использовать эти-же карты (это карты сотрудников для питания) в другом проекте не связанном с Кипером и питанием вообще
ПРОБЛЕМА:
Есть некая БД в которой хранятся данные по соответствию номеров карт и сотрудников, НО:
Карты EM Marine содержать в себе уникальный номер размером в 40бит (5 байт), сам по себе формат карт не предусматривает кодирование на уровне карт, однако, считыватели на кассовых терминале (а так-же данные и в самой БД) выдает номер гораздо большей размерности, при считывании на других считывателях все нормально - выдает номер размером 5байт (все по стандарту - 40бит), итак вопрос знатокам:
может подскажете куда копать? предположение только одно - в Кипере используется некий алгоритм шифрования, однако какой не ясно, может есть какие-то стандартные механизмы у Кипера в этом моменте?
DSkurikhin, Если я не ошибаюсь, то в кипере за это отвечает CCEX.DLL и соответствующая настройка в rkeeper6.ini
VampireKB
25.02.2013, 15:07
DSkurikhin
HEX тебе в помощь :) (вернее перевод одного числа в другой посредством преобразования)
DSkurikhin
26.02.2013, 09:58
DSkurikhin
HEX тебе в помощь :) (вернее перевод одного числа в другой посредством преобразования)
нет там никакого преобразования, либо ОЧЕНЬ неявное, пример:
в базе (и RK выдает): 21552042000210
на карте (считывается другим считывателем и в другом ПО): 1400502B4A
соответственно даже размерность разная, на карте 5байт, RK каким-то способом выдает 6, преобразования никакого результата не дают
---------- Добавлено в 09:58 ---------- Предыдущее сообщение было размещено в 09:55 ----------
DSkurikhin, Если я не ошибаюсь, то в кипере за это отвечает CCEX.DLL и соответствующая настройка в rkeeper6.ini
спасибо, постараюсь туда заглянуть
DSkurikhin
04.03.2013, 13:41
итак, похоже информация была несколько неверна, съездил сам на "обследование" и вот что выяснил:
используются считыватели SY PRX-10 (Synel) + декодер Cipher Tiny I+ 102, и уже эта связка каким-то волшебным образом на выхде после считывания карты выдает 14значное число... на карте закодировано 40бит макс (EM-Marine), каким образом получается 14значное число ума не приложу :(((
сам пишу, сам отвечаю :)))) ну ничего, вобщем мысль далее:
декодер нипричем, 14 знаков - это некий формат "Synel" используемый в их читалках, но победить я его никак не могу, может кто подскажет КАК из этих 14 цифр (число в 8ричной системе счисления) этого формата в нормальные 40бит кода карты (в любом формате), вот что нашел в инструкции:
Output data format
The reader outputs in two formats: 13 decimal digits (‘Linear’) and 14 octal digits (‘Synel’). Each
chip card digit and extra characters (for control purposes) are encoded as 4-bit binary numbers. In
addition an odd parity for security, marking each digit as a 5-bit long. It is then sent with LSB (least
significant bit) first and parity bit last.
15 bits of 0 logic are sent as header and trailer. Following the header are: hex B, 13 encoded digits
or 14 encoded digits from the chip card, Hex F, LRC and trailer. Nibbles are sent with LSB (least
significant bit) first and the parity bit last)
ссылка на манул целиком: http://www.synel.com/support/manuals/PRX10.pdf
Р (http://www.synel.com/support/manuals/PRX10.pdf)ЕШЕНО:
все, задачка решена, вопрос снят, всем спасибо :)
решение: как всегда все более чем просто (вдруг кому пригодится):
для того, чтобы получить код карты из 14значного синел-кода необходимо:
0) учесть: сам код задан в 8й системе счисления (если синель-читалка выдает 13, а не 14 знаков, значит в 10й)
2) РАЗВЕРНУТЬ зеркально полученный код (от младших разрядов к старшим)
3) перевести реультат в ту сс в которую надо (в моем случае в 16ю сс).
вобщем вот так вот все просто (а главное непонятно как я так сразу не увидел, даже стыдно), всем спасибо за терпение :)
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot