# AesGcm.encrypt

Encrypts data using AES-GCM.

## Imports

:::code-group
```ts [Named]
import { AesGcm } from 'ox'
```

```ts [Entrypoint]
import * as AesGcm from 'ox/AesGcm'
```
:::

## Examples

```ts twoslash
import { AesGcm, Hex } from 'ox'

const key = await AesGcm.getKey({ password: 'qwerty' })
const secret = Hex.fromString('i am a secret message')

const encrypted = await AesGcm.encrypt(secret, key) // [!code focus]
// @log: '0x5e257b25bcf53d5431e54e5a68ca0138306d31bb6154f35a97bb8ea18111e7d82bcf619d3c76c4650688bc5310eed80b8fc86d1e3e'
```

## Definition

```ts
function encrypt<value, as>(
  value: value | Bytes.Bytes | Hex.Hex,
  key: CryptoKey,
  options?: encrypt.Options<as>,
): Promise<encrypt.ReturnType<as>>
```

**Source:** [src/core/AesGcm.ts](https://github.com/wevm/ox/blob/main/src/core/AesGcm.ts#L209)

## Parameters

### value

* **Type:** `value | Bytes.Bytes | Hex.Hex`

The data to encrypt.

### key

* **Type:** `CryptoKey`

The `CryptoKey` to use for encryption.

### options

* **Type:** `encrypt.Options<as>`
* **Optional**

Encryption options.

#### options.as

* **Type:** `"Bytes" | "Hex" | as`
* **Optional**

The output format.

## Return Type

The encrypted data.

`Promise<encrypt.ReturnType<as>>`
