当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js crypto.scryptSync(password, salt, keylen[, options])用法及代码示例


crypto.scryptSync(password, salt, keylen[, options])

历史
版本变化
v12.8.0、v10.17.0

maxmem 值现在可以是任何安全整数。

v10.9.0

添加了 costblockSizeparallelization 选项名称。

v10.5.0

添加于:v10.5.0


参数

提供同步 scrypt 实现。 Scrypt 是一种基于密码的 key 派生函数,其设计目的是在计算和内存方面成本高昂,以使蛮力攻击没有返回。

salt 应尽可能独特。建议盐是随机的并且至少 16 字节长。有关详细信息,请参阅NIST SP 800-132

在传递 passwordsalt 的字符串时,请考虑 caveats when using strings as inputs to cryptographic APIs

当 key 派生失败时抛出异常,否则派生 key 作为 Buffer 返回。

当任何输入参数指定无效值或类型时,将引发异常。

const {
  scryptSync
} = await import('node:crypto');
// Using the factory defaults.

const key1 = scryptSync('password', 'salt', 64);
console.log(key1.toString('hex'));  // '3745e48...08d59ae'
// Using a custom N parameter. Must be a power of two.
const key2 = scryptSync('password', 'salt', 64, { N: 1024 });
console.log(key2.toString('hex'));  // '3745e48...aa39b34'const {
  scryptSync,
} = require('node:crypto');
// Using the factory defaults.

const key1 = scryptSync('password', 'salt', 64);
console.log(key1.toString('hex'));  // '3745e48...08d59ae'
// Using a custom N parameter. Must be a power of two.
const key2 = scryptSync('password', 'salt', 64, { N: 1024 });
console.log(key2.toString('hex'));  // '3745e48...aa39b34'

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 crypto.scryptSync(password, salt, keylen[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。