UNPKG

@cliz/cp

Version:

Online pbcopy + pbpaste

27 lines (26 loc) 884 B
"use strict"; 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;