Функцию, похожую на хэш, с коротким непоследовательным дайджестом и без коллизий? Для целых в диапазоне 0..M надо получать n-символьные соответствия, не выглядящие последовательными:
0 JZQ736
1 KVYZ97
2 PW7NB3
Подскажите ф-ю f(i) = s, чтобы в заданном диапазоне получать такие микро-хэши без коллизий. А совсем круто было бы и обратную ф-ю f1(s) = i чтобы из кода получать целое, или узнать, что код левак.
Криптостойкость не требуется, это для маркетинговой красоты билетов.

21 Авг 2019 в 07:15
257 +1
0
Ответы
1

Одним из подходов к созданию функции f(i) = s может быть использование шифрования с некоторым ключом, который обеспечит непоследовательные результаты. Например, можно использовать алгоритм шифрования AES с фиксированным ключом и дополнительным сдвигом в зависимости от i, чтобы генерировать последовательность микро-хешей.

Для обратной функции f1(s) = i можно использовать обратное преобразование шифрования с тем же ключом. Однако, учтите, что такой подход может быть достаточно сложным и требовать хранения ключа шифрования в безопасном месте.

Другой вариант - использовать хеширование с добавлением некоторой секретной соли, которая будет меняться в зависимости от i. Например, можно использовать обычную хеш-функцию (например, MD5) с добавлением соли i, чтобы генерировать микро-хеши.

Независимо от принятого подхода, важно обеспечить уникальность сгенерированных хешей в заданном диапазоне и отсутствие коллизий.

20 Апр 2024 в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир