# encrypt

> **encrypt**(`plaintext`, `options`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)\<`ArrayBufferLike`\>\>

Defined in: [packages/filecoin-encryption-envelope/src/aes-gcm.ts:86](https://github.com/FilOzone/synapse-sdk/blob/e853a1d93da8c983371ffce4424cdb8996cc06ff/packages/filecoin-encryption-envelope/src/aes-gcm.ts#L86)

Encrypt a complete plaintext as scheme 1 and return `envelope || ciphertext`.

Borrows its inputs: callers must not modify plaintext, keys, recipients or
metadata until the promise settles. The IV is always generated internally
and cannot be provided by the caller.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `plaintext` | [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) |
| `options` | [`EncryptOptions`](/reference/filoz/filecoin-encryption-envelope/namespaces/aesgcm/interfaces/encryptoptions/) |

## Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)\<`ArrayBufferLike`\>\>