Штрихово́й код (штрихко́д) — это последовательность чёрных и белых полос, представляющая некоторую информацию в удобном для считывания техническими средствами виде.
Штрихкод имеет следующую структуру:

-- Под код страны может отводится не три, а две цифры.
Контрольная цифра - служит для определения некорректного штрихкода. Если на штрихкоде товара контрольная цифра не сходится, то с определенностью можно сказать, что товар поддельный.
Сходимость контрольной цифры (при отсутствии доступа к интернету) проверяется следующим образом (на примере штрихкода с рисунка выше):
1) Складываем все четные цифры штрихкода: 6+0+7+2+1+0 = 16;
2) Складываем все нечетные цифры, кроме контрольной: 4+0+3+6+1+2 = 16;
3) Теперь складываем результат пункта 1, умноженный на три, с результатом пункта 2: 3х16+16 = 64;
4) Отнимаем от 10 последнюю цифру полученного в пункте 3 результата и получаем искомую контрольную цифру: 10-4 = 6. Цифра сошлась, значит штрихкод корректный.
Если контрольная цифра сходится, то это не обязательно означает, что товар подлинный.
Если есть доступ к интернету, то все гораздо проще. Существует организация, которая ведет учет всех штрихкодов. Называется она GS1. Сайт организации, а также сайты ее региональных представительств, предоставляют доступ к электронному регистру товаров (GEPIR), который позволяет по штрихкоду товара (GTIN, ранее EAN) найти информацию о производителе и о самом товаре. Ну и, само собой, он сам посчитает контрольную цифру и скажет, если не сходится.
Ну и несколько ссылок:
Ссылка №1
Глобальный электронный регистр - определяет, к какой стране относится штрихкод, и пытается получить данные из регистра этой страны. Получается далеко не всегда. Если не получилось, то лучше искать информацию на региональном сайте.
И кстати, количество запросов к глобальному регистру, которое можно сделать за 24 часа, ограничено. Меня, по крайней мере, послал после нескольких запросов, велел ждать до завтра.
Ссылка №2
Российский регистр. Работает отлично.
Ссылка №3
Белорусский регистр. Тоже вроде без проблем.
Регистры остальных стран можно нагуглить. Например, ищем "GS1 USA" для США, "GS1 UK" для Великобритании и т.д.
© kotlomoy :P
По материалам wikipedia.ru, ozpp.ru
По материалам wikipedia.ru, ozpp.ru
