Node.js – diffieHellman.getGenerator() 方法
diffieHellman.getGenerator() 方法以指定編碼返回 Diffie-Hellman 生成器。如果傳遞了編碼,則返回一個字串,否則會返回一個緩衝區。
語法
diffieHellman.getGenerator([encoding])
引數
encoding - 此引數指定返回值的編碼。
示例 1
建立一個名為 "generator.js" 的檔案並複製以下程式碼。建立檔案後,使用命令 "node generator.js" 執行此程式碼,如下例所示
// diffieHellman.getPrime() Demo Example
// Importing cryptoDiffieHellman from the crypto module
const { createDiffieHellman } = require('crypto');
// Initializing the diffieHellman object
const dh = createDiffieHellman(512);
// Generate DiffieHellman's Generator
// Defining generator
let dhGenerator = dh.getGenerator()
console.log('Buffer (when encoding is not specified) : ', dhGenerator)
// Encoding specified
// Return String
dhGenerator = dh.getGenerator('base64')
console.log('String (when encoding is specified) : ', dhGenerator)輸出
Buffer (when encoding is not specified) : <Buffer 02> String (when encoding is specified) : Ag==
示例 2
讓我們看一個示例。
// diffieHellman.getGenerator() Demo Example
// Importing cryptoDiffieHellman from the crypto module
const { createDiffieHellman } = require('crypto');
// Generating keys for 'a'
const a = createDiffieHellman(512);
// Generating prime for 'a'
const primeA = a.getPrime();
// Generating a's generator
const generatorA = a.getGenerator()
// Generating a's generatorKeys
const keyA = a.generateKeys();
// Generating keys for b
const b = createDiffieHellman( primeA, generatorA );
// Generating prime for b
const primeB = b.getPrime();
// Generating b's generator
const generatorB = b.getGenerator()
// Generating b's generatorKeys
const keyB = b.generateKeys();
// Exchanging the secret
const secretA = a.computeSecret(keyB);
const secretB = b.computeSecret(keyA);
let isSymmetric =
secretA.toString('hex') == secretB.toString('hex')
console.log('Are keys Symmetric : ${ isSymmetric }')輸出
Are keys Symmetric : ${ isSymmetric }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP