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


Node.js crypto.hkdfSync()用法及代碼示例

此方法提供了基於HMAC的同步Extract-and-Expand key 派生函數 key 派生。 keylen字節的 key 是使用摘要,給定 key ,salt和info導出的。

用法:

crypto.hkdfSync(digest, key, salt, info, keylen)

參數:此方法有五個參數。

  • digest:它必須是字符串。
  • key:最小長度— 1個字節,類型為字符串,緩衝區,數組緩衝區,類型數組,鍵對象或數據視圖。
  • salt:必須提供,但長度可以為零且唯一。它可以是字符串,ArrayBuffer,Buffer,TypedArray或DataView類型。
  • info:必須提供,但長度可以為零,並且不能超過1024個字節。它的類型為字符串,緩衝區,數組緩衝區,類型數組,鍵對象或數據視圖。
  • keylen:它是要生成的 key 的長度,並且必須大於0。它必須是b,其類型為number。

返回類型:返回派生鍵int的緩衝區形式。

範例1:



app.js


// Node.js program to demonstrate the
//  crypto.hkdfSync() Method.
  
// // Including crypto module 
import crypto from 'crypto'
  
//Implementing hkdfSync()
const Key = crypto.hkdfSync('sha512', 'key', 'salt', 'info', 64);
  
// Prints Buffer.
console.log(Key);

輸出:

ArrayBuffer {
 [Uint8Contents]:<24 15 6e 2c 35 52 5b 
 aa f3 d0 fb b9 2b 73 4c 80 32 a1 10 a3 f1 2e 
 25 96 e4 41 e1 92 48 70 d8 4c 3a 50 06 52 a7 
 23 73 80 24 43 24 51 04 6f d2 37 ef ad 83 92 
 fb 68 6c 52 77 a5 9e 01 05 39 16 53>,
 byteLength:64
}

範例2:

app.js


// Node.js program to demonstrate the
// crypto.hkdfSync() Method.
  
// Including crypto module 
import crypto from 'crypto'
  
// Implementing hkdfSync()
const Key = crypto.hkdfSync('sha512', 'key', 'salt', 'info', 16);
  
// Prints Buffer.
console.log(Buffer.from(Key).toString('hex'));

輸出:

24156e2c35525baaf3d0fbb92b734c80

範例3:

Javascript


// Node.js program to demonstrate the
// crypto.hkdfSync() Method.
  
// Including crypto module 
import crypto from 'crypto'
  
//Implementing hkdfSync()
const Key = crypto.hkdfSync('sha512', 'key', 'salt', 'info', 32);
  
// Prints Buffer.
console.log(Buffer.from(Key).toString('base64'));

輸出:

JBVuLDVSW6rz0Pu5K3NMgDKhEKPxLiWW5EHhkkhw2Ew=

範例4:

Javascript


// Node.js program to demonstrate the
// crypto.hkdfSync() Method.
  
// Including crypto module 
import crypto from 'crypto'
  
// Implementing hkdfSync()
const Key = crypto.hkdfSync('sha512', 'key', 'salt', 'info', 32);
  
// Prints Buffer.
console.log(Buffer.from(Key).toString('ascii'));

輸出:

$n,5R[*sP{9+sL 2!#q.%dAaHpXL

參考:https://nodejs.org/api/crypto.html#crypto_crypto_hkdfsync_digest_key_salt_info_keylen

相關用法


注:本文由純淨天空篩選整理自_sh_pallavi大神的英文原創作品 Node.js crypto.hkdfSync() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。