Мне нужна обратимая хеш-функция (очевидно, вход будет намного меньше по размеру, чем выход), который отображает входной сигнал на вывод случайным образом. В принципе, я хочу, чтобы преобразовать число, подобное "123", в большее число, например "9874362483910978", но не таким образом, чтобы сохранить сравнения, поэтому не всегда должно быть верно, что если x1 > x2, f (x1 ) > f (x2) (но не всегда должно быть ложным).
В этом случае я должен найти способ преобразования небольших чисел в более крупные, случайные. На самом деле они не должны быть случайными (на самом деле они должны быть детерминированными, поэтому один и тот же ввод всегда сопоставляется с одним и тем же результатом), но они должны выглядеть случайными (по крайней мере, когда base64encoded в строки, поэтому сдвиг на Z биты не будут работать, так как похожие номера будут иметь похожие MSB).
Кроме того, простой (быстрый) расчет и разворот являются плюсом, но не требуются.
Я не знаю, ясно ли я, или если такой алгоритм существует, но я был бы признателен за любую помощь!