Штрих-коди використовуються на всьому, починаючи від етикеток продукту до пасажирських талонів авіакомпанії. Вони забезпечують цінність шляхом вбудовування великої кількості інформації в невеликі простори. Будь-яка людина з правильним скануючим пристроєм може оцінити цю інформацію. Однак штрих-коди не є досконалими; вони не будуть надавати інформацію, якщо вони пошкоджені; і вони можуть ввести шкідливе програмне забезпечення, якщо вони зламано.
Матриця шкідливих програм
Програми смартфонів налаштовані для сканування матричних QR-кодів або штрих-кодів "швидкого реагування". Цей тип штрих-коду зазвичай являє собою квадратну форму, що оточує двовимірну схему сітки. Сітка містить кодовані дані. Якщо хтось вбудовує шкідливе програмне забезпечення або шкідливе програмне забезпечення в код, будь-який пристрій, який перевіряє цей код, потенційно може бути зламаний. Іншим недоліком є те, що матричні коди не працюють добре на криволінійних поверхнях, оскільки елементи коду можуть спотворюватися.
Лінійні обмеження
Лінійні штрих-коди менш складні, ніж матричні коди. Виставлені як прості лінії в одновимірному, прямокутному шаблоні, лінійні штрих-коди зазвичай використовуються для зберігання інформації про вартість продукту в продуктових магазинах і для відстеження пакетів під час доставки. Ключовим недоліком лінійних кодів є їх простота; вони не можуть зберігати таку ж кількість даних у вигляді матричних кодів. Лінійні штрих-коди також громіздкі за розміром. Деякі продукти настільки малі, що тиснення або маркування їх лінійним штрих-кодом неможливо.