2.0.0 • Published 1 year ago

@iamnapo/enigma v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@iamnapo/enigma

Create secure ciphers easily

build npm

Install

npm i @iamnapo/enigma

Usage

import { encrypt, decrypt, generateEncryptionKey } from "@iamnapo/enigma";

encrypt("some secret", { encryptionKey: "some-key" }); // => 91ysVc3IbexEwRigsMHTvwRwcuG5rMMWhJ6IkF3iq84=
decrypt("91ysVc3IbexEwRigsMHTvwRwcuG5rMMWhJ6IkF3iq84=", { encryptionKey: "some-key" }); // => "some secret
encrypt("some secret", { encryptionKey: "some-key", encoding: "hex" }); // => 93fd2e92833e{...}82253f9aa4f008

generateEncryptionKey(); // => f4Gy8jKRT4cM5+5XzL5ZtS5GHjgCmYw5BmHy4P4EJj4=

API

encrypt(input, options)

Encrypt text using the aes-256-gcm encryption algorithm.

Note: A random Initialization Vector and a random salt are created and encoded inside the cipher, so each time the result is different.

decrypt(input, options)

Decrypt text that was encrypted with encrypt.

input

Type: string

Input text.

options

Type: object

encryptionKey

Type: string | Buffer | TypedArray | DataView

Encryption key to use for encryption/decryption.

encoding

Type: "utf16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex"\ Default: "base64"

Encoding to use for encryption/decryption.

generateEncryptionKey(length)

Utility function to generate a random encryption key using a cryptographically secure random number generator.

length

Type: number\ Default: 32

Length of the generated encryption key in bytes.