Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Node.js의 crypto.createDiffieHellman() 메서드

<시간/>

위의 방법은 제공된 소수 값과 선택적 특정 생성기의 도움으로 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>