Уникальная архитектура данных QR-кодов
Всего за несколько лет QR-коды стали привычным зрелищем на телефонах и рекламных щитах по всему миру. Достаточно отсканировать QR-код, чтобы совершить платёж, получить информацию или воспользоваться услугой.
Формирование QR-кода
QR-коды (сокращение от Quick Response) были впервые разработаны в 1994 году компанией Denso Wave, дочерней компанией Toyota, в Японии.
Этот код изначально был создан для отслеживания компонентов на конвейере по производству автомобилей. Когда традиционные штрихкоды перестали обеспечивать достаточную ёмкость данных и скорость сканирования, японские инженеры решили создать новый тип кода, который бы быстро считывался и содержал больше информации. Так родился QR-код.
В отличие от штрихкодов, которые считываются только по горизонтали, QR-коды имеют квадратную форму, что позволяет хранить данные как по горизонтали, так и по вертикали. Это позволяет им хранить больше символов (от нескольких десятков до тысяч), включая цифры, буквы и символы.
Когда QR-коды только появились, они использовались в основном на заводах. Но когда стали популярны телефоны с камерами, код «обрел новую жизнь». Его сняли с конвейера и стали использовать в рекламе, для оплаты, поиска товаров и посещения занятий.
Структура QR-кода весьма уникальна: он состоит из трёх больших квадратов по углам, которые облегчают позиционирование при сканировании; остальные поля представляют собой небольшие блоки данных. Несмотря на кажущуюся простоту, внутри кода находится тщательно закодированная строка двоичных чисел.
Существует до 40 версий QR-кодов, в зависимости от длины и сложности данных. Каждый QR-код имеет встроенную функцию коррекции ошибок , поэтому даже если он размыт, порван или напечатан с опечаткой, его всё равно можно будет правильно прочитать благодаря резервным алгоритмам платформы кодирования.
Почему QR-коды почти никогда не бывают одинаковыми?
Согласно исследованию Tuoi Tre Online , QR-коды представляют собой своего рода «цифровой текст», содержащий информацию. Это может быть ссылка, текст, номер телефона, идентификационный код... Хотя чёрный и белый квадраты выглядят одинаково, два одинаковых QR-кода встречаются крайне редко, практически невозможно. Причина кроется в методе кодирования и объёме памяти.
QR-код — это больше, чем просто изображение . Это двумерная матричная структура кодирования данных. В зависимости от сложности QR-код может содержать от нескольких до тысяч символов.
В частности, стандартный QR-код может хранить до 7000 цифровых символов или около 3000 буквенно-цифровых символов. В битах максимальная ёмкость составляет около 3 КБ данных.
Технически QR-код может быть сгенерирован на основе уникального набора входных данных и, соответственно, сгенерирует уникальное изображение. То есть, если вы создаёте QR-код, содержащий контент, QR-изображение, сгенерированное на основе этого контента, будет фиксированным. Изменение даже одного символа, например, добавление точки, полностью изменит QR-код.
Возможность «почти нулевого дублирования» обусловлена огромным количеством комбинаций QR-кодов. Благодаря 40 уровням размера (от версии 1 до версии 40) и 4 уровням коррекции ошибок (L, M, Q, H), а также способу разделения данных на блоки, количество комбинаций QR-кодов, которые можно создать, составляет миллиарды миллиардов различных кодов. В частности, при использовании самого сложного типа QR-кодов (версии 40, низкий уровень коррекции ошибок) количество возможных комбинаций достигает 10 в 700-й степени — больше, чем число атомов в известной нам Вселенной.
Более того, QR-коды разработаны с учётом коррекции ошибок: можно размыть или скрыть до 30% области, и содержимое всё равно будет считано правильно. Это делает каждый QR-код не только уникальным по содержанию, но и чрезвычайно устойчивым к «помехам», помогая избежать путаницы между двумя практически идентичными кодами.
На практике, когда системе генерации QR-кодов (например, системе электронных билетов, системе входа в систему и т. д.) необходимо сгенерировать уникальный код для каждого пользователя, она обычно добавляет уникальный идентификатор или информацию о времени, чтобы гарантировать отсутствие дубликатов. Поэтому даже при доступе к одному и тому же веб-сайту QR-код для каждого пользователя может быть разным, например, для авиабилетов, гостевых карт или одноразовых паролей (OTP QR).
Наконец, платформы обычно не генерируют QR-коды случайным образом, а имеют систему проверки, хранения и контроля. Поэтому даже если человек сможет скопировать (повторно вставить старый код), система всё равно сможет обнаружить его и отказать в обработке.
Благодаря всем этим факторам существует огромное количество комбинаций, эффективная коррекция ошибок и контролируемый способ генерации кодов, поэтому QR-коды практически никогда не совпадают случайно. Если же это и происходит, то обычно... намеренно или в результате копирования.
Источник: https://tuoitre.vn/ma-qr-duoc-hinh-thanh-the-nao-vo-so-ma-qr-lieu-co-bi-trung-khong-20250624104002249.htm
Комментарий (0)