Мне нужны некоторые указатели или практический пример того, как зашифровать int для другого int, и для расшифровки значения потребуется секретный ключ.
Что-то вроде:
encrypt(1, "secret key") == 67123571122
decrypt(67123571122, "secret key") == 1
Этот парень задает почти тот же вопрос: Симметричный биективный алгоритм для целых чисел
однако я являюсь полным шифрованием "n00b". Я хотел бы получить несколько более практических примеров, если возможно, в python.1010 * Я понимаю, что мне нужно использовать какой-нибудь блочный шифр, но я довольно растерялся из-за того, что зашифрованный результат все еще должен быть числовым и несколько коротким (возможно, длинным вместо целого)
Любойуказатели?Спасибо
ОБНОВЛЕНИЕ- Почему я хочу это сделать?
У меня есть веб-сервис, где каждый «объект» получает URL, например: example.com/thing/123456/
В настоящее время эти идентификаторы являются последовательными.Я хочу скрыть тот факт, что они являются последовательными (идентификаторы базы данных).
Материал на этих страницах не является «совершенно секретным» или чем-то подобным, но не так-то просто его можно будет отследитьв некотором другом случайном объекте, просто увеличивая этот идентификатор в URL.
Таким образом, при некотором двухстороннем числовом шифровании идентификаторы URL-адресов вообще не будут последовательными, и кому-то понадобится совсем немного времени, чтобы найти больше этих объектов.(Кроме того, запросы регулируются)
И единственная причина, по которой я хочу сохранить эту цифру вместо произвольной строки, заключается в том, что изменение является полной заменой, и все будет работать без какого-либо другого кода.изменения.
Кроме того, я не могу просто генерировать новые случайные идентификаторы базы данных.Я должен обработать это шифрование / дешифрование в приложении.