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=Выполнить команду
Для локальной разработки. Не используйте в интернете!