[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Crypto](https://evolu.dev/docs/api-reference/common/Crypto) › RandomBytes

Defined in: [packages/common/src/Crypto.ts:28](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L28)

## Methods

<a id="create"></a>

### create()

#### Call Signature

```ts
create(bytesLength: 16): Uint8Array<ArrayBufferLike> & Brand<"Entropy"> & Brand<"Length16">;
```

Defined in: [packages/common/src/Crypto.ts:57](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L57)

Creates cryptographically secure random bytes with type-safe length
branding.

Uses the operating system's cryptographically secure random number
generator (crypto.getRandomValues) to generate high-quality entropy
suitable for cryptographic operations.

## Type Safety

Returns specific branded types for common sizes:

- `Random16` for 16-byte values (128 bits)
- `Random24` for 24-byte values (192 bits)
- `Random32` for 32-byte values (256 bits)
- `Random64` for 64-byte values (512 bits)
- `Random` for any other size

### Example

```ts
const nonce = randomBytes.create(16); // Type: Random16
const nonce24 = randomBytes.create(24); // Type: Random24
const key = randomBytes.create(32); // Type: Random32
const seed = randomBytes.create(64); // Type: Random64
const custom = randomBytes.create(48); // Type: Random
```

##### Parameters

| Parameter     | Type |
| ------------- | ---- |
| `bytesLength` | `16` |

##### Returns

`Uint8Array`\<`ArrayBufferLike`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Entropy"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Length16"`\>

#### Call Signature

```ts
create(bytesLength: 24): Uint8Array<ArrayBufferLike> & Brand<"Entropy"> & Brand<"Length24">;
```

Defined in: [packages/common/src/Crypto.ts:58](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L58)

##### Parameters

| Parameter     | Type |
| ------------- | ---- |
| `bytesLength` | `24` |

##### Returns

`Uint8Array`\<`ArrayBufferLike`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Entropy"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Length24"`\>

#### Call Signature

```ts
create(bytesLength: 32): Uint8Array<ArrayBufferLike> & Brand<"Entropy"> & Brand<"Length32">;
```

Defined in: [packages/common/src/Crypto.ts:59](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L59)

##### Parameters

| Parameter     | Type |
| ------------- | ---- |
| `bytesLength` | `32` |

##### Returns

`Uint8Array`\<`ArrayBufferLike`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Entropy"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Length32"`\>

#### Call Signature

```ts
create(bytesLength: 64): Uint8Array<ArrayBufferLike> & Brand<"Entropy"> & Brand<"Length64">;
```

Defined in: [packages/common/src/Crypto.ts:60](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L60)

##### Parameters

| Parameter     | Type |
| ------------- | ---- |
| `bytesLength` | `64` |

##### Returns

`Uint8Array`\<`ArrayBufferLike`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Entropy"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Length64"`\>

#### Call Signature

```ts
create(bytesLength: number): Uint8Array<ArrayBufferLike> & Brand<"Entropy">;
```

Defined in: [packages/common/src/Crypto.ts:61](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Crypto.ts#L61)

##### Parameters

| Parameter     | Type     |
| ------------- | -------- |
| `bytesLength` | `number` |

##### Returns

`Uint8Array`\<`ArrayBufferLike`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Entropy"`\>