UNPKG

cnpmcore

Version:
43 lines 2.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.decryptRSA = exports.encryptRSA = exports.genRSAKeys = void 0; const crypto_1 = require("crypto"); const node_rsa_1 = __importDefault(require("node-rsa")); // generate rsa key pair function genRSAKeys() { const key = (0, crypto_1.generateKeyPairSync)('rsa', { modulusLength: 512, }); const publicKey = key.publicKey.export({ type: 'pkcs1', format: 'pem', }).toString('base64'); const privateKey = key.privateKey.export({ type: 'pkcs1', format: 'pem', }).toString('base64'); return { publicKey, privateKey }; } exports.genRSAKeys = genRSAKeys; // encrypt rsa private key function encryptRSA(publicKey, plainText) { const key = new node_rsa_1.default(publicKey, 'pkcs1-public-pem', { encryptionScheme: 'pkcs1', environment: 'browser', }); return key.encrypt(plainText, 'base64'); } exports.encryptRSA = encryptRSA; // decrypt rsa private key function decryptRSA(privateKey, encryptedBase64) { const key = new node_rsa_1.default(privateKey, 'pkcs1-private-pem', { encryptionScheme: 'pkcs1', environment: 'browser', }); return key.decrypt(encryptedBase64, 'utf8'); } exports.decryptRSA = decryptRSA; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9jb21tb24vQ3J5cHRvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBNkM7QUFDN0Msd0RBQStCO0FBRS9CLHdCQUF3QjtBQUN4QixTQUFnQixVQUFVO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUEsNEJBQW1CLEVBQUMsS0FBSyxFQUFFO1FBQ3JDLGFBQWEsRUFBRSxHQUFHO0tBQ25CLENBQUMsQ0FBQztJQUNILE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3JDLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLEtBQUs7S0FDZCxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLEtBQUs7S0FDZCxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQWJELGdDQWFDO0FBRUQsMEJBQTBCO0FBQzFCLFNBQWdCLFVBQVUsQ0FBQyxTQUFpQixFQUFFLFNBQWlCO0lBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksa0JBQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7UUFDckQsZ0JBQWdCLEVBQUUsT0FBTztRQUN6QixXQUFXLEVBQUUsU0FBUztLQUN2QixDQUFDLENBQUM7SUFDSCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFORCxnQ0FNQztBQUVELDBCQUEwQjtBQUMxQixTQUFnQixVQUFVLENBQUMsVUFBa0IsRUFBRSxlQUF1QjtJQUNwRSxNQUFNLEdBQUcsR0FBRyxJQUFJLGtCQUFPLENBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFO1FBQ3ZELGdCQUFnQixFQUFFLE9BQU87UUFDekIsV0FBVyxFQUFFLFNBQVM7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBTkQsZ0NBTUMifQ==