當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Node.js ecdh.getPrivateKey()用法及代碼示例

ecdh.getPrivateKey() 方法是加密模塊中 ECDH 類的內置應用程序編程接口,用於獲取橢圓曲線 Diffie-Hellman (ECDH) 對象的私鑰。可以使用 encoding 參數指定 key 的編碼,使用 format 參數指定格式。

注意:必須首先使用 generateKeys() 方法生成 key ,然後才能使用私鑰檢索它們。

用法:

ecdh.getPrivateKey( encoding )

參數:此方法接受如上所述和以下描述的單個參數:

  • encoding:這是一個字符串值,用於指定返回值的編碼。它是一個可選參數。
  • format:它是一個字符串,用於指定 key 的格式。該值可以是 ‘compressed’ 或 ‘uncompressed’。它是一個可選參數。

返回值:它以指定的編碼返回橢圓曲線 DiffieHellman 私鑰。當沒有提供編碼時,返回一個Buffer,否則返回一個String。



下麵的例子演示了這種方法:

範例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');
  
// 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);

輸出:

Private Key of Geek A is:<Buffer b1 cd 2f e7 52 b4 8b a9 fe 2d 1c d8 6d 35 d9 7b 2f 2b 48 27 40 ac 35 3a 34 3a 63 5b cd 28 d0 5f 38 9b d6 ad 6c d3 a7 6e ed d5 9e 84 e6 e6 83 84 c4 cb … 15 more bytes>
Private Key of Geek B is:<Buffer 01 2f b2 ea a9 65 23 27 65 be ab 68 3a 6e 88 6e db c4 6a 65 9d 52 b7 9e 69 39 b5 5f 3a 87 55 3d f6 62 51 94 5e 24 48 62 96 dc 3b 4f 10 d2 30 99 03 4c … 16 more bytes>

範例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');
  
// 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);

輸出:

Private Key of Geek A is:AXZvAlAJi4U5gL0Hj+kkriNlH45k+UkIz27MD0x4jsbKTjEUcU8vTUFvcw3aLHt4lit+V1Jp6fQ/4MH2dFNlfpu6
Private Key of Geek B is:0152465d0c729f46f1f78532fde54eb0218b491e5a87926120862b79de9084e7a78f604de4d4d9f4c31ab7819bf6cf8f0d75849781ad556fed947ad968e008c90940

參考: https://nodejs.org/api/crypto.html#crypto_ecdh_getprivatekey_encoding




相關用法


注:本文由純淨天空篩選整理自sayantanm19大神的英文原創作品 Node.js ecdh.getPrivateKey() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。