此方法提供了基於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
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js fs.fsyncSync()用法及代碼示例
- Node.js process.nextTick()用法及代碼示例
- Node.js x509.toLegacyObject()用法及代碼示例
- Node.js GM charcoal()用法及代碼示例
- Node.js GM blur()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
注:本文由純淨天空篩選整理自_sh_pallavi大神的英文原創作品 Node.js crypto.hkdfSync() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。