@cliz/cp
Version:
Online pbcopy + pbpaste
27 lines (26 loc) • 884 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.decrypt = exports.encrypt = void 0;
const aes_1 = require("@zodash/aes");
const debug = require('debug')('cliz-cp');
function getKeyAndIVFromSecret(secret) {
const _secret = Buffer.from(secret).toString('hex');
const iv = _secret.slice(0, 16);
const key = _secret.slice(_secret.length - 32);
return {
iv,
key,
};
}
function encrypt(secret, data) {
debug('secret:', secret);
debug('hex:', Buffer.from(secret).toString('hex'));
const { key, iv } = getKeyAndIVFromSecret(secret);
return aes_1.default.encrypt('aes-256-cfb', key, iv, data);
}
exports.encrypt = encrypt;
function decrypt(secret, data) {
const { key, iv } = getKeyAndIVFromSecret(secret);
return aes_1.default.decrypt('aes-256-cfb', key, iv, data);
}
exports.decrypt = decrypt;