# 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:83](https://github.com/FilOzone/synapse-sdk/blob/ac45b247918d1482a4bd5f301722edb6f0a5b349/packages/filecoin-encryption-envelope/src/aes-gcm.ts#L83)

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`\>\>