crypto.hkdfSync(digest, ikm, salt, info, keylen)
添加于:v15.0.0
参数
digest
<string> 要使用的摘要算法。ikm
<string> | <ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> | <KeyObject> 输入 key 材料。它的长度必须至少为一个字节。salt
<string> | <ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> 盐值。必须提供,但长度可以为零。info
<string> | <ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> 附加信息值。必须提供,但长度可以为零,并且不能超过 1024 字节。keylen
<number> 要生成的 key 的长度。必须大于 0。最大允许值是255
乘以所选摘要函数产生的字节数(例如,sha512
生成 64 字节散列,使得 HKDF 输出最大 16320 字节)。- 返回: <ArrayBuffer>
提供 RFC 5869 中定义的同步 HKDF key 派生函数。给定的 ikm
、 salt
和 info
与 digest
一起使用以派生 keylen
字节的 key 。
成功生成的 derivedKey
将作为 <ArrayBuffer> 返回。
如果任何输入参数指定了无效的值或类型,或者无法生成派生键,则会引发错误。
import { Buffer } from 'node:buffer'; const { hkdfSync } = await import('node:crypto'); const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64); console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
const { hkdfSync, } = require('node:crypto'); const { Buffer } = require('node:buffer'); const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64); console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
相关用法
- Node.js crypto.hkdfSync()用法及代码示例
- Node.js crypto.hkdf(digest, ikm, salt, info, keylen, callback)用法及代码示例
- 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.randomFillSync()用法及代码示例
- Node.js crypto.checkPrime()用法及代码示例
- Node.js crypto.sign()用法及代码示例
- Node.js crypto.webcrypto用法及代码示例
- Node.js crypto.generateKeyPairSync(type, options)用法及代码示例
- Node.js crypto.createCipheriv()用法及代码示例
- Node.js crypto.scrypt(password, salt, keylen[, options], callback)用法及代码示例
- Node.js crypto.createVerify()用法及代码示例
- Node.js crypto.getCurves()用法及代码示例
- Node.js crypto.generateKeyPair()用法及代码示例
- Node.js crypto.randomFill(buffer[, offset][, size], callback)用法及代码示例
- Node.js crypto.randomBytes()用法及代码示例
- Node.js crypto.createDiffieHellman()用法及代码示例
- Node.js crypto.randomInt()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 crypto.hkdfSync(digest, ikm, salt, info, keylen)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。