Example #1
0
async function getScryptHash(password, salt) {
    const hashed = crypto.scryptSync(password, salt, 32,
        {N: 16384, r:8, p:1});

    return hashed;
}
Example #2
0
 common.expectsError(() => crypto.scryptSync('pass', 'salt', 1, options),
Example #3
0
 common.expectsError(() => crypto.scryptSync(...args), expected);
Example #4
0
    args: ['', '', null],
    expected: { code: 'ERR_INVALID_ARG_TYPE', message: /"keylen"/ },
  },
  {
    args: ['', '', .42],
    expected: { code: 'ERR_OUT_OF_RANGE', message: /"keylen"/ },
  },
  {
    args: ['', '', -42],
    expected: { code: 'ERR_OUT_OF_RANGE', message: /"keylen"/ },
  },
];

for (const options of good) {
  const { pass, salt, keylen, expected } = options;
  const actual = crypto.scryptSync(pass, salt, keylen, options);
  assert.strictEqual(actual.toString('hex'), expected);
  crypto.scrypt(pass, salt, keylen, options, common.mustCall((err, actual) => {
    assert.ifError(err);
    assert.strictEqual(actual.toString('hex'), expected);
  }));
}

for (const options of bad) {
  const expected = {
    code: 'ERR_CRYPTO_SCRYPT_INVALID_PARAMETER',
    message: 'Invalid scrypt parameter',
    type: Error,
  };
  common.expectsError(() => crypto.scrypt('pass', 'salt', 1, options, () => {}),
                      expected);