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