For the aes256, you can do something like:
const crypto = require("crypto");
const initVector = new Uint8Array([
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
]);
function encryptString(string, securityKey) {
const cipher = crypto.createCipheriv(
'aes-256-cbc',
securityKey,
initVector
);
cipher.update(string, 'utf-8', 'hex');
return cipher.final('hex');
}
function decryptString(string, securityKey) {
const decipher = crypto.createDecipheriv(
'aes-256-cbc',
securityKey,
initVector
);
decipher.update(string, 'hex', 'utf-8');
return decipher.final('utf-8');
}
The initVector
is to provide the initial state of the algorithm, you can change it to whatever you want but it should be an array of exactly 16 bytes, then just simply use those functions:
const securityKey = new Uint8Array([
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32
]);
const text = 'example string';
const encrypted = encryptString(text, securityKey);
const decrypted = decryptString(encrypted, securityKey);
console.log(encrypted);
console.log(decrypted);
The securityKey
key is the password that will be used to encrypt and decrypt the string, it should be an array of exactly 32 bytes, change it to whatever you want!