diffieHellman.setPublicKey() 方法是加密模塊中 DiffieHellman (dh) 類的內置應用程序編程接口,用於設置 dh 對象的公鑰。
用法:
diffieHellman.setPublicKey(publicKey[, encoding])
參數:此方法接受以下兩個參數:
- publicKey:它用於表示私鑰。
- encoding:用於表示publicKey的編碼。如果提供了編碼,則 publicKey 應為字符串,否則為 Buffer、TypedArray 或 DataView。
範例1:
index.js
// Node.js program to demonstrate the
// diffieHellman.setPublicKey() Method
const crypto = require('crypto')
crypto.generateKeyPair('dh',
{
primeLength:512,
publicKeyEncoding:{
type:'spki',
format:'der'
},
publicKeyEncoding:{
type:'pkcs8',
format:'der'
}
},
cb
)
function cb(err, publicKey, publicKey) {
// Create Diffie-Hellman instance
const dh = crypto.createDiffieHellman(512)
// Set the dh's publicKey
dh.setPublicKey(publicKey)
if (publicKey.equals(dh.getPublicKey()))
console.log("DH public Key is set successfully")
}
使用以下命令運行 index.js 文件
node index.js
輸出:
DH public Key is set successfully
範例2:
index.js
// Node.js program to demonstrate the
// diffieHellman.setPublicKey() Method
const crypto = require('crypto')
crypto.generateKeyPair(
'dh',
{ primeLength:512 },
cb
)
function cb(err, publicKey, publicKey) {
// Export key from KeyObject
publicKey = publicKey.export({ type:'spki', format:'der' })
// Encode key in base64
publicKey = publicKey.toString('base64');
// Create Diffie-Hellman instance
const dh = crypto.createDiffieHellman(512)
// Set the dh's publicKey
dh.setPublicKey(publicKey, 'base64')
if (publicKey === dh.getPublicKey('base64'))
console.log("DH public Key is set successfully")
}
使用以下命令運行 index.js 文件
node index.js
輸出:
DH public Key is set successfully
參考: https://nodejs.org/api/crypto.html#crypto_diffiehellman_setpublickey_publickey_encoding
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js x509.toLegacyObject()用法及代碼示例
- Node.js process.nextTick()用法及代碼示例
- Node.js fs.fsyncSync()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM drawCircle()用法及代碼示例
注:本文由純淨天空篩選整理自braktim99大神的英文原創作品 Node.js diffieHellman.setPublicKey() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。