Ключи шифрования RSA.Записываю ключ в базу данных и преобразую в тип string и как после этого по нему шифровать? (pubkey, privkey) = rsa.newkeys(512)
cur.execute("INSERT INTO persons (domain, key ) VALUES (%s,%s)", (domain, str(pubkey)))
conn.commit()
как видно на скрине я создаю ключи шифрования и заношу их в бд, как после этого использовать этот ключ для шифрования? Мне его надо считать с бд и шифровать по нему информацию, но в бд он типа string, а сам по себе ключ как я понял байтовый

21 Авг 2019 в 07:11
239 +1
0
Ответы
1

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

Для этого вам нужно сначала выполнить запрос к базе данных, чтобы получить ключ шифрования в виде строки, затем преобразовать строку обратно в объект ключа RSA. Это можно сделать с помощью метода rsa.key.PublicKey.load_pkcs1.

Ниже приведен пример кода, который демонстрирует этот процесс:

import rsa
# Получение ключа из базы данных
cur.execute("SELECT key FROM persons WHERE domain = %s", (domain,))
result = cur.fetchone()
key_str = result[0]
# Преобразование строки в объект ключа RSA
pubkey = rsa.key.PublicKey.load_pkcs1(key_str)
# Использование ключа для шифрования данных
data = b'Hello, World!'
encrypted_data = rsa.encrypt(data, pubkey)
print("Зашифрованные данные:", encrypted_data)

Этот код получит ключ шифрования из базы данных, преобразует его обратно в объект ключа RSA и затем использует этот ключ для шифрования данных. Не забудьте подключиться к базе данных в вашем коде перед выполнением запросов.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир