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