crypto.scryptSync(password, salt, keylen[, options])
历史
| 版本 | 变化 | 
|---|---|
| v12.8.0、v10.17.0 | 
  | 
| v10.9.0 | 添加了   | 
| v10.5.0 | 添加于:v10.5.0  | 
参数
password<string> | <Buffer> | <TypedArray> | <DataView>salt<string> | <Buffer> | <TypedArray> | <DataView>keylen<number>options<Object>cost<number> CPU/内存成本参数。必须是大于一的二的幂。 默认:16384。blockSize<number> 块大小参数。 默认:8。parallelization<number> 并行化参数。 默认:1。N<number>cost的别名。只能指定两者之一。r<number>blockSize的别名。只能指定两者之一。p<number>parallelization的别名。只能指定两者之一。maxmem<number> 内存上限。 (大约)128 * N * r > maxmem时出现错误。 默认:32 * 1024 * 1024。
- 返回: <Buffer>
 
提供同步 scrypt 实现。 Scrypt 是一种基于密码的 key 派生函数,其设计目的是在计算和内存方面成本高昂,以使蛮力攻击没有返回。
salt 应尽可能独特。建议盐是随机的并且至少 16 字节长。有关详细信息,请参阅NIST SP 800-132。
在传递 password 或 salt 的字符串时,请考虑 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'
相关用法
- Node.js crypto.scryptSync()用法及代码示例
 - Node.js crypto.scrypt(password, salt, keylen[, options], callback)用法及代码示例
 - Node.js crypto.scrypt()用法及代码示例
 - Node.js crypto.sign()用法及代码示例
 - Node.js crypto.setFips()用法及代码示例
 - Node.js crypto.randomFill()用法及代码示例
 - Node.js crypto.createHmac()用法及代码示例
 - Node.js crypto.randomFillSync(buffer[, offset][, size])用法及代码示例
 - Node.js crypto.constants用法及代码示例
 - Node.js crypto.randomInt([min, ]max[, callback])用法及代码示例
 - Node.js crypto.publicEncrypt()用法及代码示例
 - Node.js crypto.publicDecrypt()用法及代码示例
 - Node.js crypto.pbkdf2Sync(password, salt, iterations, keylen, digest)用法及代码示例
 - Node.js crypto.createHash()用法及代码示例
 - Node.js crypto.hkdfSync()用法及代码示例
 - Node.js crypto.randomFillSync()用法及代码示例
 - Node.js crypto.checkPrime()用法及代码示例
 - Node.js crypto.webcrypto用法及代码示例
 - Node.js crypto.generateKeyPairSync(type, options)用法及代码示例
 - Node.js crypto.createCipheriv()用法及代码示例
 - Node.js crypto.createVerify()用法及代码示例
 - Node.js crypto.getCurves()用法及代码示例
 - Node.js crypto.generateKeyPair()用法及代码示例
 - Node.js crypto.randomFill(buffer[, offset][, size], callback)用法及代码示例
 - Node.js crypto.randomBytes()用法及代码示例
 
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 crypto.scryptSync(password, salt, keylen[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
