Симметричное целочисленное шифрование

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

Что-то вроде:

encrypt(1, "secret key") == 67123571122
decrypt(67123571122, "secret key") == 1

Этот парень спрашивает довольно много тот же вопрос: Симметричный биективный алгоритм для целых чисел
, однако я являюсь полным шифрованием «n00b», я хотел бы получить еще несколько практических примеров, если возможно, на python.

Я понимаю, что мне нужно использовать какой-то блок cipher, но я совершенно не понимаю, что зашифрованный результат должен быть числовым и несколько коротким (возможно, длинным вместо int)

Есть указатели? Спасибо

ОБНОВЛЕНИЕ- Почему я хочу это сделать?
У меня есть веб-служба, где каждый «объект» получает URL-адрес, например: example.com/thing/123456/

Сейчас эти идентификаторы являются последовательными. Я хочу скрыть тот факт, что они последовательные (идентификаторы базы данных).

Материал на этих страницах не является «совершенно секретным» или чем-то в этом роде, но кому-то не должно быть так легко подглядывать за другими random 'просто увеличивая этот идентификатор в URL.

Таким образом, при некотором двустороннем числовом шифровании идентификаторы URL вообще не будут последовательными, и кому-то потребуется довольно много времени, чтобы найти больше этих объектов. (Кроме того, запросы регулируются)

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

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

11
задан Community 23 May 2017 в 12:17
поделиться