@onboardbase/cli
Version:
[](https://www.npmjs.com/package/@onboardbase/cli) [](https://www.npmjs.com/package/@onboardbase/cli) [ • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateRsaKeys = exports.encryptPlainText = exports.rsaDecryptCipherText = exports.decryptCipherText = void 0;
const CryptoJS = require("crypto-js");
const NodeRSA = require("node-rsa");
const decryptCipherText = async (data) => {
const { cipherText, passphrase } = data;
const plainText = CryptoJS.AES.decrypt(cipherText, passphrase).toString(CryptoJS.enc.Utf8);
return plainText;
};
exports.decryptCipherText = decryptCipherText;
const rsaDecryptCipherText = async (data) => {
const { cipherText, privateKey } = data;
const rsaPrivateKey = new NodeRSA(privateKey);
return rsaPrivateKey.decrypt(cipherText, "utf8");
};
exports.rsaDecryptCipherText = rsaDecryptCipherText;
const encryptPlainText = async (data) => {
const { plainText, passphrase } = data;
const cipherText = CryptoJS.AES.encrypt(plainText, passphrase).toString();
return cipherText;
};
exports.encryptPlainText = encryptPlainText;
const generateRsaKeys = () => {
const key = new NodeRSA({ b: 512 });
const keys = key.generateKeyPair();
const publicKey = keys.exportKey("public");
const privateKey = keys.exportKey("private");
return { publicKey, privateKey };
};
exports.generateRsaKeys = generateRsaKeys;