@evokegroup/crypto
Requires NodeJS 18+
Encryption
Classes
UnsupportedAlgorithmError
extends Error
InvalidInputLengthError
extends Error
Interfaces
EncryptOpts
Property | Type |
---|---|
inputEncoding | BufferEncoding |
keyEncoding | BufferEncoding |
ivEncoding | BufferEncoding |
outputEncoding | BufferEncoding |
iterations | number |
hmac | string |
authTagLength | number |
authTagLocation | AuthTagLocation |
DecryptOpts
extends EncryptOpts
Property | Type |
---|---|
authTag | Buffer|string |
EncryptionResult
Property | Type | Default | Description |
---|---|---|---|
data |
Buffer , string
|
The encrypted data | |
authTag |
Buffer , string
|
The authentication tag |
Methods
decrypt
returns Promise<Buffer | string>
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
data |
Buffer , string
|
The data to be encrypted | |
key |
Buffer , string
|
The encryption key | |
iv |
Buffer , string
|
The encryption IV | |
opts | DecryptOpts |
||
opts.inputEncoding | BufferEncoding |
utf8 |
|
opts.keyEncoding | BufferEncoding |
base64 |
|
opts.ivEncoding | BufferEncoding |
base64 |
|
opts.outputEncoding | BufferEncoding |
base64 |
null will cause the returned value to be a Buffer . |
opts.iterations | number |
1000 |
|
opts.hmac | string |
sha256 |
|
opts.authTag |
Buffer , string
|
||
opts.authTagLength | number |
16 |
|
opts.authTagLocation | number |
APPEND |
decryptSync
returns Buffer | string
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
data |
Buffer , string
|
The data to be encrypted | |
key |
Buffer , string
|
The encryption key | |
iv |
Buffer , string
|
The encryption IV | |
opts | DecryptOpts |
||
opts.inputEncoding | BufferEncoding |
utf8 |
|
opts.keyEncoding | BufferEncoding |
base64 |
|
opts.ivEncoding | BufferEncoding |
base64 |
|
opts.outputEncoding | BufferEncoding |
base64 |
null will cause the returned value to be a Buffer . |
opts.iterations | number |
1000 |
|
opts.hmac | string |
sha256 |
|
opts.authTag |
Buffer , string
|
||
opts.authTagLength | number |
16 |
|
opts.authTagLocation | number |
APPEND |
encrypt
returns Promise<Buffer | string | EncryptionResult>
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
data |
Buffer , string
|
The data to be encrypted | |
key |
Buffer , string
|
The encryption key | |
iv |
Buffer , string
|
The encryption IV | |
opts | EncryptOpts |
||
opts.inputEncoding | BufferEncoding |
utf8 |
|
opts.keyEncoding | BufferEncoding |
base64 |
|
opts.ivEncoding | BufferEncoding |
base64 |
|
opts.outputEncoding | BufferEncoding |
base64 |
null will cause the returned value to be a Buffer . |
opts.iterations | number |
1000 |
|
opts.hmac | string |
sha256 |
|
opts.authTagLength | number |
16 |
|
opts.authTagLocation | number |
APPEND |
encryptSync
returns Buffer | string | EncryptionResult
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
data |
Buffer , string
|
The data to be encrypted | |
key |
Buffer , string
|
The encryption key | |
iv |
Buffer , string
|
The encryption IV | |
opts | EncryptOpts |
||
opts.inputEncoding | BufferEncoding |
utf8 |
|
opts.keyEncoding | BufferEncoding |
base64 |
|
opts.ivEncoding | BufferEncoding |
base64 |
|
opts.outputEncoding | BufferEncoding |
base64 |
null will cause the returned value to be a Buffer . |
opts.iterations | number |
1000 |
|
opts.hmac | string |
sha256 |
|
opts.authTagLength | number |
16 |
|
opts.authTagLocation | number |
APPEND |
generateRandomKey
returns Buffer | string
Generates a random key appropriate for the given encryption algorithm.
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
outputEncoding | BufferEncoding |
generateRandomIV
returns Buffer | string
Generates a random initialization vector appropriate for the given encryption algorithm.
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
outputEncoding | BufferEncoding |
getSupportedAlgorithms
returns string[]
Get a list of algorithms supported by this library.
Parameter | Type | Default | Description |
---|---|---|---|
scheme | string |
null |
Return algorithms only for the given encryption scheme (e.g. aes , aria , camellia , des , des3 ) |
isSupportedAlgorithm
returns boolean
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
Hashing
Interfaces
HashOpts
Property | Type |
---|---|
salt |
Buffer , string
|
saltEncoding | BufferEncoding |
saltLocation | SaltLocation |
inputEncoding | BufferEncoding |
outputEncoding | BinaryToTextEncoding |
Methods
calculateHash
returns Buffer | string
Parameter | Type | Default | Description |
---|---|---|---|
algorithm | string |
The encryption algorithm | |
data |
Buffer , string
|
The data to be encrypted | |
opts | HashOpts |
||
opts.salt |
Buffer , string
|
||
opts.saltEncoding | BufferEncoding |
base64 |
|
opts.saltLocation | SaltLocation |
APPEND |
|
opts.inputEncoding | BufferEncoding |
utf8 |
|
opts.outputEncoding | BinaryToTextEncoding |
hex |
null will cause the returned value to be a Buffer . |
generateSalt
returns Buffer | string
Parameter | Type | Default | Description |
---|---|---|---|
saltLength | nmber |
16 |
|
outputEncoding | BufferEncoding |