Método Node.js ecdh.setPrivateKey()

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

Se generaría un error si la clave privada no es válida para la curva especificada. La configuración de la clave privada usando este método generará y configurará automáticamente la clave pública correspondiente en el objeto ECDH.

Sintaxis:

ecdh.setPrivateKey( privateKey, encoding )

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

  • privateKey: esta es la clave privada que debe establecerse. Se puede dar en formato de string, ArrayBuffer, Buffer, TypedArray o DataView.
  • codificación: en el valor de string de codificación que especifica la codificación del valor devuelto. Es un parámetro opcional.

Valor de retorno: Devuelve la clave pública DiffieHellman de curva elíptica 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');
  
// Create a private key of geekA
geekA.setPrivateKey("thisisasecretkey!");
  
// Create a private key of geekB
geekB.setPrivateKey("thisisanotherkey!");
  
// Get the private keys of both the geeks
let geekAPrivateKey = geekA.getPrivateKey();
let geekBPrivateKey = geekB.getPrivateKey();
  
console.log("Private Key of Geek A is:",
  geekAPrivateKey);
console.log("Private Key of Geek B is:",
  geekBPrivateKey);

Producción:

La clave privada de Geek A es: <Buffer 74 68 69 73 69 73 61 73 65 63 72 65 74 6b 65 79 21>
La clave privada de Geek B es: <Buffer 74 68 69 73 69 73 61 6e 6f 74 68 65 72 6b 65 79 21>

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');
  
// Create a private key of geekA
// with "hello" in hex format
geekA.setPrivateKey("68656c6c6f", "hex");
  
// Create a private key of geekB
// with "world" in base64 format
geekB.setPrivateKey("d29ybGQ=", "base64");
  
// Get the private keys of both the geeks
// in 'utf-8' encoding
let geekAPrivateKey = 
  geekA.getPrivateKey('utf-8');
let geekBPrivateKey = 
  geekB.getPrivateKey('utf-8');
  
console.log("Private Key of Geek A is:", 
  geekAPrivateKey);
console.log("Private Key of Geek B is:",
  geekBPrivateKey);

Producción:

Private Key of Geek A is: hello
Private Key of Geek B is: world

Referencia: https://nodejs.org/api/crypto.html#crypto_ecdh_setprivatekey_privatekey_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 *