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