Код: Выделить всё
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)
Код: Выделить всё
TypeError: token must be bytes
- Перепроверил конверсию между строками и байтами.
Подтверждено, что соединение GridDB работает для базовых запросов без шифрования.
Подробнее здесь: https://stackoverflow.com/questions/791 ... sit-griddb
Мобильная версия