Node.js ecdh.getPublicKey()方法
原文:https://www . geesforgeks . org/node-js-ecdh-getpublikey-method/
ecdh.getPublicKey() 方法是加密模块中 ecdh 类的内置应用程序编程接口,用于获取指定编码的椭圆曲线 Diffie-Hellman (ECDH)对象的公钥。密钥的编码可以使用编码参数指定,格式可以使用格式参数指定。
必须首先使用 generateKeys() 方法生成密钥,然后才能使用公钥检索它们。
语法:
ecdh.getPublicKey( encoding, format )
参数:该方法接受两个参数,如上所述,如下所述:
- 编码:这是一个字符串值,指定返回值的编码。
- 格式:是指定按键格式的字符串。该值可以是“压缩”或“未压缩”。
返回值:返回指定编码的椭圆曲线差分赫尔曼公钥。如果不提供编码,则作为缓冲区返回,否则返回字符串。
实施例 1: 以下实施例说明了该方法:
java 描述语言
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 public key for geekA
const geekAPublicKey = geekA.getPublicKey();
console.log("Public Key of Geek A is:", geekAPublicKey);
// Generate keys for geekB
const geekBPublicKey = geekB.getPublicKey();
console.log("Public Key of Geek B is:", geekBPublicKey);
输出:
极客 A 的公钥为: 极客 B 的公钥为:
例 2:
java 描述语言
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 public key for geekA in base64
const geekAPublicKey =
geekA.getPublicKey('base64');
console.log(
"Public Key of Geek A is:", geekAPublicKey);
// Generate keys for geekB in hex in
// the compressed format
const geekBPublicKey =
geekB.getPublicKey('hex', 'compressed');
console.log(
"Public Key of Geek B is:", geekBPublicKey);
输出:
Geek A 的公开密钥是:bacc 88 Lu 8 xdew 2 wuiluluckcch 0 kqc 79 lilcyuj 92 auutiymp 3 cfstcd 5 gfkbf 329 L2 wbzr 4 xwugqxagye 6 isnanamoxs 2u 4eo 3 nscmsi 2+bxssjhykim 8 njqn m7vgsq 4 d0 fpmgnwgfcjoo+v 0 vbb 3 zvepfswkwyti 0 wlf 7kxa = = t0]公开
参考:https://nodejs . org/API/crypto . html # crypt _ ecdh _ get publicly _ encoding _ format
版权属于:月萌API www.moonapi.com,转载请注明出处