UNPKG

@onboardbase/cli

Version:

[![Version](https://img.shields.io/npm/v/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![Downloads/week](https://img.shields.io/npm/dw/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![License](https://img

37 lines (36 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.encryptStr = exports.generateKeyPairForDC = void 0; const nacl = require("tweetnacl"); const base64_1 = require("@stablelib/base64"); const utf8_1 = require("@stablelib/utf8"); const convStrToArr = (str) => (0, base64_1.decode)(str); const convArrToStr = (arr) => (0, base64_1.encode)(arr); const generateKeyPairForDC = () => { const newPair = nacl.box.keyPair(); return { publicKey: convArrToStr(newPair.publicKey), secretKey: convArrToStr(newPair.secretKey), }; }; exports.generateKeyPairForDC = generateKeyPairForDC; function encryptDCM(message, sessionId) { try { const keys = sessionId; const sharedKey = nacl.box.before(convStrToArr(keys.receiverPK), convStrToArr(keys.secretKey)); const oneTimecode = nacl.randomBytes(24); //this might be decode instead of encode const cipherText = nacl.box.after((0, utf8_1.encode)(message), oneTimecode, sharedKey); return { cipherText: convArrToStr(cipherText), oneTimecode: convArrToStr(oneTimecode), }; } catch (error) { console.log(error); } } const encryptStr = (message, receiverPublicKey, secretKey) => { return JSON.stringify(encryptDCM(message, { receiverPK: receiverPublicKey, secretKey })); }; exports.encryptStr = encryptStr;