Форум OlegON > Разговоры на отвлеченные темы > Беседка

Общепринятые алгоритмы вычисления ХЭШ и контрольных сумм : Беседка

02.04.2025 8:57


26.02.2025 13:47
Есть вот такие штрих-коды

первый:
0217980000300100000000000000000000000000001200000000000000000000000000000000012469

Еще один:
0217980000300000000000000000000000000000001200000000000000000000000000000000045492

где последние 5 цифр - некая контрольная сумма или криптохвост или хэш или что-то подобное.

Для первого штрих-кода эта контрольная сумма 12469 а для второго контролльная сумма 45492.

Как понять, по какому алгоритму эта контрольная сумма вычисляется? Может есть общепринятые стандартные алгоритмы? На что это похоже?
Я поменял только одну цифру с нуля на единичку в 14-м разряде слева, а контрольная сумма изменилась существенно. Натолкните на мысль об алгоритме который это вычисляет?
26.02.2025 18:25
Ты бы лучше картинку их сюда еще приложил, чтобы предполагать, что это за штрихкоды. Или где ты меняешь, что тебе пересчитывает контрольную сумму...

В целом там CRC32 или просто сумма бывает.
Ни то, ни другое на 5 символов не тянет, обычно... Хэш какой-нибудь...
26.02.2025 19:28


(0.08Мб)


(0.08Мб)

Первый штрих-код начинается с нуля и не содержит никакой контрольной суммы. Каждая цифра - это реальные данные.
Второй штрих-код начинается с единицы и содержит все цифры кроме пяти последних - реальные данные.
Последние 5 цифр второго штрих-кода это некая контрольная сумма или криптохвост. Стоит поменять одну любую цифру хоть в первом, хоть во втором штрих-коде, как пять последних цифр второго штрих-кода пересчитываются.
26.02.2025 21:57
скорее всего это все же не контрольная сумма, слишком для нее много... кто генерирует это? похоже на Code128, но не оно...
27.02.2025 12:35
Это коде128. Сама по себе контрольная сумма к штрих-коду не относится. Эти 5 последних цифр генерируются станком, выпускающим данный товар. Все цифры кроме пяти - пользовательские, а эти 5 последних расчитываются по всем предыдущим из обеих штрих-кодов.
27.02.2025 12:39
Короче, пиндосы продили в Россию 800 очень дорогих станков, а в результате санкций прекратили поставку расходников. Наши научились делать расходники но станки их не воспринимают из-за ошибки в контрольной сумме. Кто поможет разгадать алгоритм вычисления - получит орден от Правительства РФ за содействие импортозамещению.
27.02.2025 18:23
Ты бы тогда не два, а хоть пару десятков бы кодов кинул...
28.02.2025 13:32
Третий комплект кодов на фото.

021798000030010000000000000000000000000000
1200000000000000000000000000000000012469

Четвертый комплект:
021798000030010000000000000000000000000000
1200000000000000000000000000000000161556

пятый комплект:
021798000030010000000000000000000000000000
1200000000000000000000000000000000261748

Обратите внимение, что при неизменном первом коде если наращивать последнюю цифру перед контрольной суммой сначала 0, затем 1, затем 2, то сама контрольная сумма меняется 12469 затем 61556 затем 61748
28.02.2025 15:40
я просил штук 20, а ты дал четыре, еще и зачем-то начал портить, возможно, саму контрольную сумму

0217980000300000000000000000000000000000001200000000000000000000000000000000045492
0217980000300100000000000000000000000000001200000000000000000000000000000000012469
0217980000300100000000000000000000000000001200000000000000000000000000000000161556
0217980000300100000000000000000000000000001200000000000000000000000000000000261748

там, где 12469 попробуй 3001 заменить на 3002? и 30010 на 30011, меня смущает, что три последних все растут, возможно, что часть - это время с момента включения или количество этикеток, например...
07.03.2025 17:02
0217980000300000000000000000000000000000001200000000000000000000000000000000045492
0217980000300100000000000000000000000000001200000000000000000000000000000000012469
0217980000300100000000000000000000000000001200000000000000000000000000000000161556
0217980000300100000000000000000000000000001200000000000000000000000000000000261748
0217980000300200000000000000000000000000001200000000000000000000000000000000062389
0217980000300110000000000000000000000000001200000000000000000000000000000000061512
0217980000300101000000000000000000000000001200000000000000000000000000000000003252

Вот еще пара кодов - все криптохвосты в районе 61*** Все таки это некая сумма. Причем, ни один криптохвост не превышает 65535! Такое ощущение что для его подсчета используется двухбайтовая переменная.
Часовой пояс GMT +3, время: 08:57.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.