35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import numberfy from "./numberfy";
|
|
|
|
export type GrabEncryptionKeysParam = {
|
|
encryptionKey?: string;
|
|
encryptionSalt?: string;
|
|
apiKey?: string;
|
|
algorithm?: string;
|
|
bufferAllocSize?: number;
|
|
};
|
|
|
|
/**
|
|
* # Grab Encryption Keys
|
|
* @description Grab Required Encryption Keys
|
|
*/
|
|
export default function grabKeys(param?: GrabEncryptionKeysParam) {
|
|
return {
|
|
key: param?.encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD,
|
|
keyLen: process.env.DSQL_ENCRYPTION_KEY_LENGTH
|
|
? Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH)
|
|
: 24,
|
|
salt: param?.encryptionSalt || process.env.DSQL_ENCRYPTION_SALT,
|
|
apiKey: param?.apiKey || process.env.DSQL_API_KEY,
|
|
algorithm:
|
|
param?.algorithm ||
|
|
process.env.DSQL_ENCRYPTION_ALGORITHM ||
|
|
"aes-192-cbc",
|
|
bufferAllocSize:
|
|
param?.bufferAllocSize ||
|
|
(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE
|
|
? numberfy(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE)
|
|
: undefined) ||
|
|
16,
|
|
};
|
|
}
|