PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/tweetnacl-ts

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var array_1 = require("./array");
var box_1 = require("./box");
var blake2b_1 = require("./blake2b");
function sealedbox(m, pk) {
    var c = array_1.ByteArray(48 /* Overhead */ + m.length);
    var ek = box_1.box_keyPair();
    c.set(ek.publicKey);
    var nonce = nonce_gen(ek.publicKey, pk);
    var boxed = box_1.box(m, nonce, pk, ek.secretKey);
    c.set(boxed, ek.publicKey.length);
    // clear secret key
    for (var i = 0; i < ek.secretKey.length; i++)
        ek.secretKey[i] = 0;
    return c;
}
exports.sealedbox = sealedbox;
function sealedbox_open(c, pk, sk) {
    if (c.length < 48 /* Overhead */)
        return;
    var epk = c.subarray(0, 32 /* PublicKey */);
    var nonce = nonce_gen(epk, pk);
    var boxData = c.subarray(32 /* PublicKey */);
    return box_1.box_open(boxData, nonce, epk, sk);
}
exports.sealedbox_open = sealedbox_open;
function nonce_gen(pk1, pk2) {
    var state = blake2b_1.blake2b_init(24 /* Nonce */);
    blake2b_1.blake2b_update(state, pk1);
    blake2b_1.blake2b_update(state, pk2);
    return blake2b_1.blake2b_final(state);
}
//# sourceMappingURL=sealedbox.js.map

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


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