Node.js ecdh.getPrivateKey()方法
原文:https://www . geesforgeks . org/node-js-ecdh-getprivate key-method/
ecdh.getPrivateKey() 方法是加密模块内 ecdh 类的内置应用编程接口,用于获取椭圆曲线 Diffie-Hellman (ECDH)对象的私钥。密钥的编码可以使用编码参数指定,格式可以使用格式参数指定。
注意:必须首先使用 generateKeys() 方法生成密钥,然后才能使用私钥检索它们。
语法:
ecdh.getPrivateKey( encoding )
参数:该方法接受如上所述的单个参数,如下所述:
- 编码:这是一个字符串值,指定返回值的编码。这是一个可选参数。
- 格式:是指定按键格式的字符串。该值可以是“压缩”或“未压缩”。这是一个可选参数。
返回值:返回指定编码的椭圆曲线差分赫尔曼私钥。如果不提供编码,则作为缓冲区返回,否则返回字符串。
下面的例子演示了这种方法:
例 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 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);
输出:
极客 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 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);
输出:
Geek A 的私密金钥是:axzv alaji 4u 5 GL 0h j+kkrinlh45 k+ukizz 27 MD 0x 4 jsbtjeuku 8 vtufvcw 3 alht 4 lit+v1 jp 6f q/4mh 2 dfnlfpu 6 geek b 的私密金钥是:0152465d 0 c 729 f46 f1 f 78532 FDE 54 EB 0218 b 491 e 5 a 87926120862 b 79
参考资料:https://nodejs . org/API/crypt . html # crypt _ ecdh _ get rivtekey _ encoding
版权属于:月萌API www.moonapi.com,转载请注明出处