當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。