Що таке це ваше шифрування?
sidqdevНу короче, є 3 основні типи шифрування(ну принаймні що я знаю), це:
- Хеш-функція
- Шифрування з відкритим ключем
- Шифрування з закритим ключем
І так по черзі, хеш-функція:
Прикол з інету: В математичному сенсі, це функція що для будь-якого довільного значення має єдине та незмінне значення з фіксованого діапазону.
Простими словами - це така функція яка повертає значення фіксованого розміру, яке неможливо розшифрувати(без брутфорсу і т.д.)
Для початку розглянемо sha256(або будь-яку іншу функцію, hashlib модуль - топ)

Ось таким простим чином можна отримати hex sha256 будь-яких даних
Також треба знати что таке hmac:
Прикол з інету: механізм перевірки цілісності інформації, що передається або зберігається в ненадійному середовищі
Простими словами - хеш-функція з паролем.

Використання дуже просте, до речі, прикол з інету правду каже, використовують hmac, щоб якісь приколісти не підміняли хеш, та не змінювали данні
Шифрування з відкритим ключем
Дуже складна тема з математикою, якщо вглиблюватись, є кілька алгоритмів, але найчастіше використовують просто RSA(лінк на пупі).
Тут без приколів, при шифруванні з відритим ключем є 2 ключі - приватний та публічний. Публічний для всіх, ми його всім даємо, завдяки йому ШИФРУЮТЬ інформацію. Приватний ключ ми бережемо, завдяки йому інформацію ми РОЗШИФРОВУЄМО.

Ось якось так це і працює, як перетворювати ключі в байти та навпаки - домашнє завдання). У алгоритму є деякі обмеження, тому його часто використовують у парі з простим шифруванням типу AES(лінк на гіт хаб, код на Golang, але ж ви в мене розумні).
Шифрування з закритим ключем
На пайтон мені не дуже подобається як це все зроблено, це все працює через модуль PyCrypto, з яким дуже часто бувають проблеми, але все одно потрібно.

Ось такий великий код(лінк на пастбін). Інформацію саме для цього брав на сайті(лінк на статтю).
Чесно кажучи трішки втомився поки все це писав. А ви можете ставити питання у чат, поспілкуємося.