Нужна функцию, похожую на хэш, до 32 бит, с возможность задавать первичное число?
Ищу 2 функции. Смысл задачи в том что надо иметь 2 функции:
1. Для создания номер нужна функция f([номер билета],[первое число]) = [первое число][числовая последовательност],
т.е. результат должен начинаться с того числа что мы указали.
например есть серия билетов A, Номер билета будет f(A90414, 0) = результат функци должен быть 0ADEA0.
2. Для проверки если взять f(0ADEA0) то должны получить A90414.
0ADEA0 - закрыт внутри защищенной области что надо стереть монеткой(для лотереи).
Крипкостойкость не нужна, коллизии возможны, размерность от 32 до 128 бит.
2) Не совсем так, если вы допускаете коллизии, то функция не имеет обратного преобразования и вы не можете из 0ADEA0 получить A90414, вы можете только из A90414 получить 0ADEA0.
по этому и нужна проверка создал проверил создал проверил создал серию - проверил серию у серии есть сроки реализации - по этому коллизии не страшны. Пробовал только CRC32 если и расчитывать обатное число то там идет расчет 4х байт и задавать свои увы нельзя.