summaryrefslogtreecommitdiff
path: root/test/parallel/test-crypto-scrypt.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-06-25 17:40:59 +0200
committerAnna Henningsen <anna@addaleax.net>2018-07-18 14:18:01 +0200
commite9b22e9569008de8485ece22bcbb2ce8b143d4b2 (patch)
treee331e384c7875b9a4d01c152e995af2aabb8547b /test/parallel/test-crypto-scrypt.js
parent07c514ce29ffb1875b62ad5cbf056b33b7fdc9e5 (diff)
downloadandroid-node-v8-e9b22e9569008de8485ece22bcbb2ce8b143d4b2.tar.gz
android-node-v8-e9b22e9569008de8485ece22bcbb2ce8b143d4b2.tar.bz2
android-node-v8-e9b22e9569008de8485ece22bcbb2ce8b143d4b2.zip
crypto: add better scrypt option aliases
Make parameter names available in a human-readable way, for more accessible/self-documenting usage of the `scrypt` functions. This implements a review comment from the original PR that has not been addressed. Refs: https://github.com/nodejs/node/pull/20816#discussion_r189220776 PR-URL: https://github.com/nodejs/node/pull/21525 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Diffstat (limited to 'test/parallel/test-crypto-scrypt.js')
-rw-r--r--test/parallel/test-crypto-scrypt.js44
1 files changed, 40 insertions, 4 deletions
diff --git a/test/parallel/test-crypto-scrypt.js b/test/parallel/test-crypto-scrypt.js
index 9d0e495881..a99bff9255 100644
--- a/test/parallel/test-crypto-scrypt.js
+++ b/test/parallel/test-crypto-scrypt.js
@@ -56,14 +56,50 @@ const good = [
'7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2' +
'd5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887',
},
+ {
+ pass: '',
+ salt: '',
+ keylen: 64,
+ cost: 16,
+ parallelization: 1,
+ blockSize: 1,
+ expected:
+ '77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442' +
+ 'fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906',
+ },
+ {
+ pass: 'password',
+ salt: 'NaCl',
+ keylen: 64,
+ cost: 1024,
+ parallelization: 16,
+ blockSize: 8,
+ expected:
+ 'fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b373162' +
+ '2eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640',
+ },
+ {
+ pass: 'pleaseletmein',
+ salt: 'SodiumChloride',
+ keylen: 64,
+ cost: 16384,
+ parallelization: 1,
+ blockSize: 8,
+ expected:
+ '7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2' +
+ 'd5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887',
+ },
];
// Test vectors that should fail.
const bad = [
- { N: 1, p: 1, r: 1 }, // N < 2
- { N: 3, p: 1, r: 1 }, // Not power of 2.
- { N: 2 ** 16, p: 1, r: 1 }, // N >= 2**(r*16)
- { N: 2, p: 2 ** 30, r: 1 }, // p > (2**30-1)/r
+ { N: 1, p: 1, r: 1 }, // N < 2
+ { N: 3, p: 1, r: 1 }, // Not power of 2.
+ { N: 2 ** 16, p: 1, r: 1 }, // N >= 2**(r*16)
+ { N: 2, p: 2 ** 30, r: 1 }, // p > (2**30-1)/r
+ { N: 1, cost: 1 }, // both N and cost
+ { p: 1, parallelization: 1 }, // both p and parallelization
+ { r: 1, blockSize: 1 } // both r and blocksize
];
// Test vectors where 128*N*r exceeds maxmem.