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


Node.js scrypto.hkdf()用法及代码示例


crypto.hkdf()是加密模块内的Crypto类的内置应用程序编程接口,用于派生特定长度的 key 。

用法:

const crypto.hkdf(digest, key, salt, info, keylen, callback)

参数:此函数采用以下参数作为参数。

  • digest:这是一串摘要算法。
  • key:这是秘密的钥匙
  • salt:它代表着重要的价值。
  • info:它包含更多信息。
  • keylen:它是要生成的 key 的长度。
  • callback:这是用于进一步的操作。

返回值:此函数返回特定长度的派生 key 。

范例1:



index.js


// Node.js program to demonstrate the  
// crypto.hkdf() function
  
// Importing crypto module
const crypto = require('crypto')
  
// getting dervied key 
// by using hkdf() method
const val = crypto.hkdf('sha512', 'key', 'salt', 
                        'info', 64, (err, derivedKey) => {
  
    // checking if any error is found
    if (err) throw err;
  
    // display the result
    console.log(Buffer.from(derivedKey).toString('hex'));
  });

使用以下命令运行index.js文件。

node index.js

输出:

24156e2c35525baaf3d0fbb92b734c8032a110a3f12e25
96e441e1924870d84c3a500652a723738024432451046fd237e
fad8392fb686c5277a59e0105391653

范例2:

index.js


// Node.js program to demonstrate the  
// crypto.hkdf() function
  
// Importing crypto module
const crypto = require('crypto')
  
// creating and intializing array buffer
const key = new ArrayBuffer(8);
  
// getting dervied key 
// by using hkdf() method
const val = crypto.hkdf('sha512', key, 'salt', 
                        'info', 32, (err, derivedKey) => {
  
    // checking if any error is found
    if (err) throw err;
  
    // display the result
    console.log(Buffer.from(derivedKey).toString('hex'));
  });

使用以下命令运行index.js文件。

node index.js

输出:

bb105ac3235f285bd53b68cb95bf78c7fe5f3
a7924ac64d291f68ba2bd0430e1

参考:https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_crypto_hkdf_digest_key_salt_info_keylen_callback

相关用法


注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 Node.js scrypto.hkdf() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。