위의 방법은 제공된 소수 값과 선택적 특정 생성기의 도움으로 DiffieHellman 키 교환 개체를 만듭니다. 생성기 인수는 문자열, 숫자 또는 버퍼 값을 보유할 수 있습니다. 생성기의 기본값은 2입니다.
구문
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
매개변수
위의 매개변수는 다음과 같이 설명됩니다 -
-
프라임 – 생성될 프라임 비트의 수. 입력 값은 숫자 유형입니다.
-
primeEncoding – 이 매개변수는 프라임 문자열의 인코딩을 정의합니다. 가능한 입력 유형은 문자열, 버퍼, TypedArray 및 DataView입니다.
-
발전기 – 교환 키 개체를 생성하기 위한 생성기. 기본값:2.
-
제너레이터 인코딩 – 이 매개변수는 생성자 문자열 인코딩을 정의합니다.
예시
index.js라는 이름의 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래 예와 같이 이 코드를 실행하십시오 -
node index.js
프로그램 코드
// crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator],[generatorEncoding]) // Demo Example // Importing the crypto module const crypto = require('crypto'); // Initializing and defining the prime value const server = crypto.createDiffieHellman(20); // Generating keys server.generateKeys(); // Creating keys using server prime and generator const client= crypto.createDiffieHellman( server.getPrime(), server.getGenerator()); client.generateKeys(); // Printing the server and client values console.log("Server prime: ", server.getPrime().toString('hex'), "\nServer generator: ", server.getGenerator().toString('hex')); console.log("Client prime: ", client.getPrime().toString('hex'), "\nClient generator: ", client.getGenerator().toString('hex'));
출력
C:\home\node>> node index.js Server prime: 0fed0b Server generator: 02 Client prime: 0fed0b Client generator: 02
서버와 클라이언트 모두에 전달된 인수가 동일하기 때문입니다. 따라서 생성된 키도 동일합니다.
예시
예를 하나 더 살펴보겠습니다.
// crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator],[generatorEncoding]) // Demo Example // Importing the crypto module const crypto = require('crypto'); // Initializing and defining the prime value const val = crypto.createDiffieHellman(12); // Printing prime value for abve DiffieHellman console.log(val.getPrime()); // Printing the generator value console.log(val.getGenerator())
출력
C:\home\node>> node index.js <Buffer 0f 6b> <Buffer 02>