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

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

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

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

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

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

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир