Método Node.js ecdh.getPrivateKey()

El método ecdh.getPrivateKey() es una interfaz de programación de aplicaciones integrada de clase ECDH dentro del módulo criptográfico que se utiliza para obtener la clave privada del objeto Elliptic Curve Diffie-Hellman (ECDH). La codificación de la clave se puede especificar usando el parámetro de codificación y el formato usando el parámetro de formato .

Nota: Las claves deben generarse primero con el método generateKeys() antes de poder recuperarlas con la clave privada.

Sintaxis:

ecdh.getPrivateKey( encoding )

Parámetros: este método acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:

  • codificación: este es un valor de string que especifica la codificación del valor devuelto. Es un parámetro opcional.
  • formato: Es una string que especifica el formato de las claves. El valor puede ser ‘comprimido’ o ‘descomprimido’. Es un parámetro opcional.

Valor devuelto: Devuelve la clave privada de Elliptic Curve DiffieHellman en la codificación especificada. Cuando no se proporciona la codificación, se devuelve como un búfer; de lo contrario, se devuelve una string.

Los siguientes ejemplos demuestran este método:

Ejemplo 1:

Javascript

const crypto = require('crypto');
  
// Generate an ECDH object for geekA
const geekA = crypto.createECDH('secp521r1');
  
// Generate an ECDH object for geekB
const geekB = crypto.createECDH('secp521r1');
  
// Generate the keys for both the geeks
geekA.generateKeys();
geekB.generateKeys();
  
// Get the private key for geekA
const geekAprivateKey = geekA.getPrivateKey();
  
console.log("Private Key of Geek A is:",
  geekAprivateKey);
  
// Get the private key for geekB
const geekBprivateKey = geekB.getPrivateKey();
  
console.log("Private Key of Geek B is:",
  geekBprivateKey);

Producción:

La clave privada de Geek A es: <Buffer b1 cd 2f e7 52 b4 8b a9 fe 2d 1c d8 6d 35 d9 7b 2f 2b 48 27 40 ac 35 3a 34 3a 63 5b cd 28 d0 5f 38 9b d6 ad 6c d3 a7 6e ed d5 9e 84 e6 e6 83 84 c4 cb … 15 bytes más>
La clave privada de Geek B es: <Buffer 01 2f b2 ea a9 65 23 27 65 be ab 68 3a 6e 88 6e db c4 6a 65 9d 52 b7 9e 69 39 b5 5f 3a 87 55 3d f6 62 51 94 5e 24 48 62 96 dc 3b 4f 10 d2 30 99 03 4c … 16 bytes más>

Ejemplo 2:

Javascript

const crypto = require('crypto');
  
// Generate an ECDH object for geekA
const geekA = crypto.createECDH('secp521r1');
  
// Generate an ECDH object for geekB
const geekB = crypto.createECDH('secp521r1');
  
// Generate the keys for both the geeks
geekA.generateKeys();
geekB.generateKeys();
  
// Get the private key for geekA in base64
const geekAPrivateKey =
  geekA.getPrivateKey('base64');
  
console.log("Private Key of Geek A is:",
  geekAPrivateKey);
  
// Get the private key for geekB in hex
const geekBPrivateKey =
  geekB.getPrivateKey('hex');
  
console.log("Private Key of Geek B is:",
  geekBPrivateKey);

Producción:

Private Key of Geek A is: AXZvAlAJi4U5gL0Hj+kkriNlH45k+UkIz27MD0x4jsbKTjEUcU8vTUFvcw3aLHt4lit+V1Jp6fQ/4MH2dFNlfpu6
Private Key of Geek B is: 0152465d0c729f46f1f78532fde54eb0218b491e5a87926120862b79de9084e7a78f604de4d4d9f4c31ab7819bf6cf8f0d75849781ad556fed947ad968e008c90940

Referencia: https://nodejs.org/api/crypto.html#crypto_ecdh_getprivatekey_encoding

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *