Este método proporciona una derivación de clave de función de derivación de clave de extracción y expansión sincrónica basada en HMAC. La clave de los bytes keylen se deriva usando digest , clave dada , sal e información .
Sintaxis:
crypto.hkdfSync(digest, key, salt, info, keylen)
Parámetros: Este método tiene cinco parámetros.
- digest: debe ser una string.
- clave: longitudes mínimas: 1 byte, es de tipo string, búfer, ArrayBuffer, TypedArray, KeyObject o DataView.
- salt: debe proporcionarse, pero puede ser de longitud cero y único. Puede ser de tipo string , ArrayBuffer, Buffer, TypedArray o DataView .
- info: debe proporcionarse, pero puede tener una longitud cero y no puede tener más de 1024 bytes. Es de tipo string, Buffer, ArrayBuffer, TypedArray, KeyObject o DataView.
- keylen: Es la longitud de la clave a generar y debe ser mayor a 0. Debe ser de tipo número.
Tipo de devolución: devuelve la clave derivada en forma de búfer.
Ejemplo 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);
Producción:
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 }
Ejemplo 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'));
Producción:
24156e2c35525baaf3d0fbb92b734c80
Ejemplo 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'));
Producción:
JBVuLDVSW6rz0Pu5K3NMgDKhEKPxLiWW5EHhkkhw2Ew=
Ejemplo 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'));
Producción:
$n,5R[*sP{9+sL 2!#q.%dAaHpXL
Referencia : https://nodejs.org/api/crypto.html#crypto_crypto_hkdfsync_digest_key_salt_info_keylen
Publicación traducida automáticamente
Artículo escrito por _sh_pallavi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA