PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-core/dist/src/bitgo/trading/network

Просмотр файла: decrypt.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decryptRsaWithAesGcm = decryptRsaWithAesGcm;
const decrypt_aes_gcm_1 = require("./decrypt-aes-gcm");
const decrypt_rsa_1 = require("./decrypt-rsa");
/**
 * Provided an X.509/ OpenSSL PEM private key, and a string of text to decrypt,
 * This function will
 * 1. Split the encrypted text into the encrypted key and the encrypted text
 * 2. Decrypt the key using RSA-OAEP with the provided private key
 * 3. Decrypt the text using AES-GCM with the decrypted key
 * 4. Return the decrypted text
 *
 * @param {string} privateKey - The private key corresponding to the public key used for encryption
 * @param {string} encryptedText - The encrypted text to decrypt
 * @returns {string} The decrypted text
 */
async function decryptRsaWithAesGcm(privateKey, encryptedText) {
    const [encryptedKey, encrypted] = encryptedText.split('\n');
    const gcmKey = await (0, decrypt_rsa_1._decryptRsa)(privateKey, encryptedKey);
    return (0, decrypt_aes_gcm_1._decryptAesGcm)(Buffer.from(gcmKey, 'base64').toString(), encrypted);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLG9EQU1DO0FBckJELHVEQUFtRDtBQUNuRCwrQ0FBNEM7QUFFNUM7Ozs7Ozs7Ozs7O0dBV0c7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsVUFBa0IsRUFBRSxhQUFxQjtJQUNsRixNQUFNLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLHlCQUFXLEVBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTNELE9BQU8sSUFBQSxnQ0FBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfZGVjcnlwdEFlc0djbSB9IGZyb20gJy4vZGVjcnlwdC1hZXMtZ2NtJztcbmltcG9ydCB7IF9kZWNyeXB0UnNhIH0gZnJvbSAnLi9kZWNyeXB0LXJzYSc7XG5cbi8qKlxuICogUHJvdmlkZWQgYW4gWC41MDkvIE9wZW5TU0wgUEVNIHByaXZhdGUga2V5LCBhbmQgYSBzdHJpbmcgb2YgdGV4dCB0byBkZWNyeXB0LFxuICogVGhpcyBmdW5jdGlvbiB3aWxsXG4gKiAxLiBTcGxpdCB0aGUgZW5jcnlwdGVkIHRleHQgaW50byB0aGUgZW5jcnlwdGVkIGtleSBhbmQgdGhlIGVuY3J5cHRlZCB0ZXh0XG4gKiAyLiBEZWNyeXB0IHRoZSBrZXkgdXNpbmcgUlNBLU9BRVAgd2l0aCB0aGUgcHJvdmlkZWQgcHJpdmF0ZSBrZXlcbiAqIDMuIERlY3J5cHQgdGhlIHRleHQgdXNpbmcgQUVTLUdDTSB3aXRoIHRoZSBkZWNyeXB0ZWQga2V5XG4gKiA0LiBSZXR1cm4gdGhlIGRlY3J5cHRlZCB0ZXh0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHByaXZhdGVLZXkgLSBUaGUgcHJpdmF0ZSBrZXkgY29ycmVzcG9uZGluZyB0byB0aGUgcHVibGljIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gZW5jcnlwdGVkVGV4dCAtIFRoZSBlbmNyeXB0ZWQgdGV4dCB0byBkZWNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGVjcnlwdGVkIHRleHRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRSc2FXaXRoQWVzR2NtKHByaXZhdGVLZXk6IHN0cmluZywgZW5jcnlwdGVkVGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgW2VuY3J5cHRlZEtleSwgZW5jcnlwdGVkXSA9IGVuY3J5cHRlZFRleHQuc3BsaXQoJ1xcbicpO1xuXG4gIGNvbnN0IGdjbUtleSA9IGF3YWl0IF9kZWNyeXB0UnNhKHByaXZhdGVLZXksIGVuY3J5cHRlZEtleSk7XG5cbiAgcmV0dXJuIF9kZWNyeXB0QWVzR2NtKEJ1ZmZlci5mcm9tKGdjbUtleSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCksIGVuY3J5cHRlZCk7XG59XG4iXX0=

Выполнить команду


Для локальной разработки. Не используйте в интернете!