Skip to main content
scrypt - node__crypto.d.ts - Node documentation
function scrypt

Usage in Deno

```typescript import { scrypt } from "node:node__crypto.d.ts"; ```
scrypt(
password: BinaryLike,
salt: BinaryLike,
keylen: number,
callback: (
err: Error | null,
derivedKey: Buffer,
) => void
,
): void
Provides an asynchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based key derivation function that is designed to be expensive computationally and memory-wise in order to make brute-force attacks unrewarding. The `salt` should be as unique as possible. It is recommended that a salt is random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`. The `callback` function is called with two arguments: `err` and `derivedKey`. `err` is an exception object when key derivation fails, otherwise `err` is `null`. `derivedKey` is passed to the callback as a `Buffer`. An exception is thrown when any of the input arguments specify invalid values or types. ```js const { scrypt, } = await import('node:crypto'); // Using the factory defaults. scrypt('password', 'salt', 64, (err, derivedKey) => { if (err) throw err; console.log(derivedKey.toString('hex')); // '3745e48...08d59ae' }); // Using a custom N parameter. Must be a power of two. scrypt('password', 'salt', 64, { N: 1024 }, (err, derivedKey) => { if (err) throw err; console.log(derivedKey.toString('hex')); // '3745e48...aa39b34' }); ```

Parameters

password: BinaryLike
keylen: number
callback: (
err: Error | null,
derivedKey: Buffer,
) => void

Return Type

void
scrypt(
password: BinaryLike,
salt: BinaryLike,
keylen: number,
options: ScryptOptions,
callback: (
err: Error | null,
derivedKey: Buffer,
) => void
,
): void

Parameters

password: BinaryLike
keylen: number
options: ScryptOptions
callback: (
err: Error | null,
derivedKey: Buffer,
) => void

Return Type

void