Уже явно больше 15:00, но я попытаю счастья =) 2-х килобайтная библиотека для рендерига десятков тысяч спрайтов средствами webgl https://github.com/kutuluk/js13k-2d
А чем Math.random не угодил? Для цели генерации случайных ключей в реактовском списке (вон из профессии!) полностью подходит — шанс повторения ничтожно мал, все генерируемые значения можно считать уникальными. Экономия в 638 (915) байт.
Тут есть одно «но». Отсутствие сервера обусловлено использованием контроллера БОРЕЙ с полноценным процессором на борту, что наверняка сильно сказывается на его стоимости по сравнению с «безмозглыми» аналогами. Если у вас 1 дверь, то это идеальный вариант. А если у вас 10 или 100 дверей, то я сильно сомневаюсь в финансовой целесообразности такого решения.
Сори за резкость, не успел отредактировать. Ничего личного, ни в коем случае не хотел вас обидеть. И спасибо за статью, оборудование мне понравилось настолько, что захотелось пощупать.
Но, если исходить из вашей логики что поскольку в большинстве случаев массовые дешевые СКУДы используют для идентификации открытый UID карты (даже если и СКУД, и карты поддерживает криптографические функции), то да, ваша система ни чем не хуже и не лучше остального гавна.
Не обязательно аппаратный, можно программный. И совершенно не обязательно эмулировать весь функционал EMV, достаточно эмулировать одну единственную функцию, которая отдает открытые данные. 10-15 строк кода, не считая бойлерплейта.
Поскольку вы используете открытую информацию с карт, то эту информацию чрезвычайно просто скопировать/подделать. Фактически, все ваши ключи являются скомпрометироваными и использование вашей схемы позволительно лишь в случаях ПОЛНОГО пренебрежения безопасностью. Мне кажется, этот момент должен быть явно описан и выделен в тексте, дабы не вводить людей в заблуждение.
Если кто-либо захочет использовать этот пример (я бы не советовал), не забудте вызвать в конструкторе после инициализации ключа еще и инициализацию чипера:
cipher.init(key, Cipher.MODE_ENCRYPT);
Ведь если ключ создавался, значит он для чего-нибудь нужен =)
Ух ты, как все просто, оказывается… Я всегда думал, что для этого какие-то зубодробительные алгоритмы используются, а на самом деле весь алгоритм заключается в проходе матрицей, где от выбора матрицы зависит качество и скорость обработки. Красота!
WebGL — всего-лишь js-обертка над OGL ES. Расскажите поподробнее что именно в ней сырое? И, если не сложно, расскажите за счет чего ожидается большой прирост производительности, можно даже просто ссылкой на пруф.
Вот https://m.habr.com/post/265775/
Уже явно больше 15:00, но я попытаю счастья =) 2-х килобайтная библиотека для рендерига десятков тысяч спрайтов средствами webgl https://github.com/kutuluk/js13k-2d
Любой каприз за ваши деньги =)
А в чем, сосбственно, сложность?
ru.wikipedia.org/wiki/ISO/IEC_7816 + ru.wikipedia.org/wiki/ISO/IEC_14443 + www.emvco.com
Если кто-либо захочет использовать этот пример (я бы не советовал), не забудте вызвать в конструкторе после инициализации ключа еще и инициализацию чипера:
Ведь если ключ создавался, значит он для чего-нибудь нужен =)