Generates a cryptographically secure 256-bit (32-byte) encryption key suitable for creating encrypted indexes.
@staticmethod
generate_key() -> bytes

Returns

bytes: A 32-byte object containing cryptographically secure random data suitable for index encryption.

Security Notes

The generated key is cryptographically secure and suitable for production use:
  • Uses Python’s secrets.token_bytes() which leverages OS entropy sources for maximum security
  • Provides 256 bits of entropy (32 bytes)
  • Compatible with AES-256 encryption used by CyborgDB
This key must be persisted securely. For more information, see Managing Encryption Keys.

Example Usage

from cyborgdb import Client

client = Client(base_url='http://localhost:8000', api_key='your-api-key')

# Generate a secure encryption key
index_key = client.generate_key()
print(f'Generated key length: {len(index_key)}')  # Output: 32

index = client.create_index(
    'my-secure-index',
    index_key,
)

# IMPORTANT: Store the key securely for future access
# key_hex = index_key.hex()
# print(f'Store this key safely: {key_hex}')