> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cyborg.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate Key

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

```typescript theme={null}
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

<Warning>
  This key must be persisted securely. For more information, see [Managing Encryption Keys](../../guides/advanced/managing-keys).
</Warning>

### Example Usage

```typescript theme={null}
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);
```
