Настройка шифрования SSL/TLS для передаваемых данных — GridDBPython

Программы на Python
Ответить
Anonymous
 Настройка шифрования SSL/TLS для передаваемых данных — GridDB

Сообщение Anonymous »

Я пытаюсь настроить безопасное хранение и извлечение данных с использованием базы данных GridDB с шифрованием TLS/SSL для передаваемых данных. Я хочу зашифровать конфиденциальные данные перед их сохранением и расшифровать при получении. Для шифрования я использую библиотеку криптографии. Вот мой код:

Код: Выделить всё

from cryptography.fernet import Fernet
import griddb_python as griddb

# Generating an encryption key and encrypting data
key = Fernet.generate_key()
cipher_suite = Fernet(key)
data = "Sensitive Data"
encrypted_data = cipher_suite.encrypt(data.encode())

# Setting up GridDB connection
factory = griddb.StoreFactory.get_instance()
try:
gridstore = factory.get_store(
host="localhost", port=10001, cluster_name="defaultCluster",
username="admin", password="admin"
)

# Create or get container
container_name = "data_encryption_test"
conInfo = griddb.ContainerInfo(
name=container_name,
column_info_list=[["id", griddb.Type.INTEGER],
["data", griddb.Type.STRING]],
type=griddb.ContainerType.COLLECTION, row_key=True)

container = gridstore.put_container(conInfo)
container.set_auto_commit(False)

# Storing encrypted data
row = [1, encrypted_data.decode()]
container.put_row(row)
container.commit()

# Retrieving and decrypting data
query = container.query("select *")
rs = query.fetch()
while rs.has_next():
row = rs.next()
encrypted_data_retrieved = row[1].encode()
decrypted_data = cipher_suite.decrypt(encrypted_data_retrieved).decode()
print("Decrypted Data:", decrypted_data)

except griddb.GSException as e:
print("GridDB Error:", e)
Проблема: При запуске кода возникает ошибка во время расшифровки данных после получения данных из GridDB:

Код: Выделить всё

TypeError: token must be bytes
Что я пробовал:
  • Перепроверил конверсию между строками и байтами.

    Подтверждено, что соединение GridDB работает для базовых запросов без шифрования.
Ожидаемое поведение: код должен хранить зашифрованные данные в контейнере GridDB, а затем успешно извлекать и расшифровывать их.

Подробнее здесь: https://stackoverflow.com/questions/791 ... sit-griddb
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»