PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/tweetnacl-ts
Просмотр файла: box.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var array_1 = require("./array");
var core_1 = require("./core");
var random_1 = require("./random");
var salsa20_1 = require("./salsa20");
var scalarmult_1 = require("./scalarmult");
var secretbox_1 = require("./secretbox");
var check_1 = require("./check");
function box(msg, nonce, publicKey, secretKey) {
var k = box_before(publicKey, secretKey);
return secretbox_1.secretbox(msg, nonce, k);
}
exports.box = box;
function box_before(publicKey, secretKey) {
check_1.checkArrayTypes(publicKey, secretKey);
check_1.checkBoxLengths(publicKey, secretKey);
var k = array_1.ByteArray(32 /* SharedKey */);
_box_beforenm(k, publicKey, secretKey);
return k;
}
exports.box_before = box_before;
exports.box_after = secretbox_1.secretbox;
function box_open(msg, nonce, publicKey, secretKey) {
var k = box_before(publicKey, secretKey);
return secretbox_1.secretbox_open(msg, nonce, k);
}
exports.box_open = box_open;
exports.box_open_after = secretbox_1.secretbox_open;
function box_keyPair() {
var pk = array_1.ByteArray(32 /* PublicKey */);
var sk = array_1.ByteArray(32 /* SecretKey */);
_box_keypair(pk, sk);
return { publicKey: pk, secretKey: sk };
}
exports.box_keyPair = box_keyPair;
function box_keyPair_fromSecretKey(secretKey) {
check_1.checkArrayTypes(secretKey);
if (secretKey.length !== 32 /* SecretKey */)
throw new Error('bad secret key size');
var pk = array_1.ByteArray(32 /* PublicKey */);
scalarmult_1._scalarMult_base(pk, secretKey);
return { publicKey: pk, secretKey: array_1.ByteArray(secretKey) };
}
exports.box_keyPair_fromSecretKey = box_keyPair_fromSecretKey;
// low level
function _box_keypair(y, x) {
random_1._randomBytes(x, 32);
return scalarmult_1._scalarMult_base(y, x);
}
function _box_beforenm(k, y, x) {
var s = array_1.ByteArray(32);
scalarmult_1._scalarMult(s, x, y);
return salsa20_1._hsalsa20(k, core_1._0, s, salsa20_1._sigma);
}
//# sourceMappingURL=box.js.mapВыполнить команду
Для локальной разработки. Не используйте в интернете!