UNPKG

remsed

Version:

A JavaScript cryptocurrency trading library with support for fairdesk.com

40 lines (37 loc) 1.58 kB
// ---------------------------------------------------------------------------- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN: // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code // EDIT THE CORRESPONDENT .ts FILE INSTEAD "use strict"; var BigInteger = require('../libs/jsbn.cjs'); var schemes = require('../schemes/schemes.cjs'); module.exports = function (keyPair, options) { var pkcs1Scheme = schemes.pkcs1.makeScheme(keyPair, options); return { encrypt: function (buffer, usePrivate) { var m, c; if (usePrivate) { /* Type 1: zeros padding for private key encrypt */ m = new BigInteger(pkcs1Scheme.encPad(buffer, { type: 1 })); c = keyPair.$doPrivate(m); } else { m = new BigInteger(keyPair.encryptionScheme.encPad(buffer)); c = keyPair.$doPublic(m); } return c.toBuffer(keyPair.encryptedDataLength); }, decrypt: function (buffer, usePublic) { var m, c = new BigInteger(buffer); if (usePublic) { m = keyPair.$doPublic(c); /* Type 1: zeros padding for private key decrypt */ return pkcs1Scheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength), { type: 1 }); } else { m = keyPair.$doPrivate(c); return keyPair.encryptionScheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength)); } } }; };