Як розшифрувати qr код, роскод національна система штрихкодирования

Розшифровка qr кодів онлайн

Безкоштовні онлайн-сервіси розшифрують QR-код за пару секунд, якщо виконати нескладну послідовність дій:

1. Вставити в завантажувальний віконце QR-код або посилання коду;

2. Натиснути «Відправити».

Через кілька миттєвостей розшифрований код стане доступний для читання.

Як розшифрувати qr code вручну?

  • Числовий (використовуються тільки цифри від 0 до 9);
  • Альфачісловой (використовуються цифри від 0 до 9, англійські букви A-Z, спецсимволи пробіл, $% * + - / :);
  • бітовий;
  • Спосіб Кайндзі, при якому файли упаковуються в 13 біт. Застосовується для кодування китайських і японських ієрогліфів.

Інформація в коді розташована не хаотично, а розбивається на 4 блоки:

  • Область детектування (перетворюють модуль) - великі квадрати по кутах коду; всередині кожного квадрата розташований чорний квадрат меншого розміру. У цій області не міститься даних, що представляють інтерес при розшифровці.
  • Системна інформація - 4 смуги даних - збоку, праворуч і знизу від блоків детектування; займає 15 біт, з них 5 біт - корисна інформація, 10 біт - коригувальний код, який активується при помилковому прочитанні даних програмою або при пошкодженні основного коду, наприклад, закреслення або затирання. Системні дані дублюються; це допомагає уникнути помилок при зчитуванні коду.
  • Про версію коду. Всього версій 40. Чим вище версія, тим більша кількість даних в ній зашифровано, і тим складніше розшифрувати код без застосування технічних засобів. Збільшення кількості даних веде до більш щільному заповненню простору між перетворювати модулями.
  • Безпосередньо дані.

Алгоритм розшифровки QR-коду програмою такий:

1. Розпізнавання чорних і білих областей;

2. Декодування формату даних;

3. Визначення версії коду;

4. Використання маски;

5. Витяг даних;

6. Витяг коригувальних кодів;

7. Декодування даних;

При розшифровці QR-коду вручну пункти 1, 3, 6, 8, 9 виключаються, залишається лише 4 пункти:

  1. Декодування формату даних;
  2. Використання маски;
  3. Витяг даних;
  4. Декодування даних;

Приступаємо до розшифровки.

1. Нас цікавлять 5 біт інформації, зашифрованої в системних даних. Це рядок під верхнім лівим перетворювати модулем. Дані з неї записуємо в двійковій системі, позначаючи порожню область як 0, а заповнену - як 1. Вийде рядок з п'яти цифр, наприклад, 10111.

2. Використовуємо статичну маску для системної інформації. Маска - ще один спосіб захисту даних; являє собою числову послідовність 101010000010010. Оскільки ми використовуємо тільки 5 біт інформації, то скорочуємо маску до перших п'яти цифр: 10101.

3. Застосовуємо логічну операцію «виключає АБО» (xor). Результатом дії буде одиниця при непарному числі складаються бітів, і 0 при парному. У прикладі це виглядає так:

4. В отриманій рядку даних перші 2 цифри показують рівень корекції помилок. В QR-кодах таких рівнів 4; їх відмінності - в обсязі інформації, яка відновлюється при пошкодженні коду:

  • L (01) Low (Слабкий) - 7%;
  • M (00) Medium (Середній) - 15%;
  • Q (11) Quartile (Нормальний) -25%;
  • H (10) High (Високий) - 30%.

У розглянутому прикладі середній рівень корекції - M (00), тобто при пошкодженні коду скорегувати можна до 15% помилок.

За рештою трьома цифрам (011) визначається тип маски - один з восьми можливих:

7. Знову застосовуємо маску. Але в цей раз вона буде для кожного типу своя. 8-біттному типу даних відповідає маска 0000. Після проведення обчислень за допомогою оператора XOR отримуємо результат:

0100 - індикатор режиму

0100 - 8-біттний режим

8. Залишилося прочитати дані. Вони записані в уже розглянутої нами області 2-12. Новомосковський змійкою справа наліво і знизу вгору, переводимо в двійковий код рядка з 3-ю по 12-ю (перші 2 рядки відводиться під заголовок даних). На отриманий 20-значний цифровий ряд впливаємо оператором XOR. 8-біттному типу даних відповідає маска

0000 0000 0000 0000 0000.

Режим читання визначаємо по таблиці: