Как Django расшифровывает поля EncryptedCharField? - PullRequest
0 голосов
/ 05 мая 2020

Итак, у меня в базе данных Postgres есть поле типа bytea. Я знаю расшифрованное значение, а также ключ, но не могу понять, как перейти от этого необработанного значения базы данных к расшифрованной строке. Я считаю, что ищу алгоритм, который Django использует для дешифрования этих значений, и как я могу использовать его для шифрования другой строки. Django предположительно использует пакет Keyczar, в котором упоминается использование пакета Crypter для шифрования / дешифрования вещей. Я не могу установить этот пакет, поэтому не знаю, как go об этом по-другому.

В конечном итоге я хочу обновить значение в поле EncryptedCharField в своей базе данных, поскольку оно недействительно больше - есть ли способ получить это зашифрованное значение онлайн или в пределах Python?

, добавив соответствующий код. Передается много параметров и объектов, поэтому, надеюсь, вам не составит труда следовать приведенному ниже коду:

# How the field is getting read from Postgres: 
server_password = EncryptedCharField(null=True, max_length=255)

# Get some other settings info from another table:
settings = SourceSystemSettings.objects.get(school=school, source_system=SourceSystem.objects.VENDOR)

# Setting up the pysftp connection object:
SourceFTP(hosts=[settings.server_host, SERVER_INTERNAL],
               user=settings.server_user,
               password=settings.server_password,
               directory=settings.server_dir)

# Connecting using the password and other settings:
connection = pysftp.Connection(host, username=user, password=password, cnopts=cnopts)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...