sodium
Version:
Lib Sodium port for node.js
37 lines (30 loc) • 1.16 kB
JavaScript
var assert = require('assert');
var sodium = require('../build/Release/sodium');
var shared = Buffer.from([
0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d,
0xe1, 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35,
0x0f, 0x25, 0xe0, 0x7e, 0x21, 0xc9, 0x47,
0xd1, 0x9e, 0x33, 0x76, 0xf0, 0x9b, 0x3c,
0x1e, 0x16, 0x17, 0x42
]);
var c = Buffer.from([
0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x33,
0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, 0x6b
]);
var expected= Buffer.from([
0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4,
0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7,
0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2,
0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
]);
describe("libsodium_core1", function () {
it('crypto_core_hsalsa20', function() {
var zero = Buffer.alloc(16);
var fisrtKey = sodium.crypto_core_hsalsa20(zero, shared, c);
assert(fisrtKey.equals(expected));
assert(sodium.crypto_core_hsalsa20_outputbytes() > 0);
assert(sodium.crypto_core_hsalsa20_inputbytes() > 0);
assert(sodium.crypto_core_hsalsa20_keybytes() > 0);
assert(sodium.crypto_core_hsalsa20_constbytes() > 0);
});
});