Node.js ecdh.generateKeys()方法
原文:https://www . geesforgeks . org/node-js-ecdh-generatekeys-method/
ecdh.generateKeys() 方法是加密模块中 ecdh 类的内置应用程序编程接口,用于生成椭圆曲线 Diffie-Hellman (ECDH)对象的私钥和公钥值。它只返回给定格式和编码的公钥。
语法:
ecdh.generateKeys( encoding, format )
参数:该方法接受两个参数,如上所述,如下所述:
- 编码:这是一个字符串值,指定返回值的编码。
- 格式:是指定按键格式的字符串。该值可以是“压缩”或“未压缩”。
返回值:返回指定编码的椭圆曲线差分赫尔曼公钥。如果没有提供编码,则作为缓冲区返回,否则返回字符串。
以下示例演示了这种方法:
例 1:
java 描述语言
const crypto = require('crypto');
// Generate an ECDH object for geekA
const geek = crypto.createECDH('secp521r1');
// Generate keys for geek and return
// the public key
const geekAPublicKey = geek.generateKeys();
console.log(
"Public Key of Geek A is:", geekAPublicKey);
// Get the private key of geek
const geekAPrivateKey = geek.getPrivateKey();
console.log(
"Private Key of Geek A is:", geekAPrivateKey);
输出:
极客 A 的公钥为: 极客 A 的私钥为:
例 2:
java 描述语言
const crypto = require('crypto');
// Generate an ECDH object for geekA
const geekA = crypto.createECDH('secp521r1');
// Generate keys for geekA in base64 encoding
const geekAkey =
geekA.generateKeys('base64');
console.log(
"Public Key of Geek A is:", geekAkey);
// Generate an ECDH object for geekB
const geekB = crypto.createECDH('secp521r1');
// Generate keys for geekB in base64
// encoding and compressed
const geekBkey =
geekB.generateKeys('base64', 'compressed');
console.log(
"Public Key of Geek B is:", geekBkey);
输出:
geek a is:bahbkh 6 uv 0 hazphqr+bva/GC 8 vrqtf 0 ltpnweoph+pdklhhhne 9/xyi2 pjdq 1 nhum/gekojksmead 51 q 0 ehge 2y+iihb 2 gsluy 7ho 0 oomlfrlm 8y paxnv 6 skbqsbngnyh/hebilillznfgurnsvsh 4 Rui 0 useoh/V6 nfpefua = = geek 的公钥
参考:https://nodejs . org/API/crypt . html # crypt _ ecdh _ generate keys _ encoding _ format
版权属于:月萌API www.moonapi.com,转载请注明出处