Generates a cryptographically secure 256-bit (32-byte) encryption key suitable for creating encrypted indexes.
Client.generateKey(): Uint8Array

Returns

Uint8Array: A 32-byte array containing cryptographically secure random data suitable for index encryption.

Security Notes

The generated key is cryptographically secure and suitable for production use:
  • Uses Node.js crypto.randomBytes() 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

import { Client } from 'cyborgdb';

const client = new Client({ baseUrl: 'http://localhost:8000', apiKey: 'your-api-key' });

// Generate a secure encryption key
const indexKey = client.generateKey();
console.log('Generated key length:', indexKey.length); // Output: 32

const index = await client.createIndex({
    indexName: 'my-secure-index',
    indexKey
});

// IMPORTANT: Store the key securely for future access
// const keyHex = Buffer.from(indexKey).toString('hex');
// console.log('Store this key safely:', keyHex);