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

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

<시간/>

crypto.createHash() 메서드는 해시 개체를 만든 다음 반환합니다. 이 해시 객체는 주어진 알고리즘을 사용하여 해시 다이제스트를 생성하는 데 사용할 수 있습니다. 선택적 옵션은 스트림 동작을 제어하는 ​​데 사용됩니다. XOF 및 'shake256'과 같은 일부 해시 함수의 경우 출력 길이가 원하는 출력 길이를 바이트 단위로 지정하는 데 사용됩니다.

구문

crypto.createHash(algorithm, [options])

매개변수

위의 매개변수는 다음과 같이 설명됩니다. -

  • 알고리즘 – 이 알고리즘은 해시 다이제스트를 생성하는 데 사용됩니다. 입력 유형은 문자열입니다.

  • 옵션 – 스트림 동작을 제어하는 ​​데 사용할 수 있는 선택적 매개변수입니다.

예시

이름이 createHash.js인 파일을 만들고 아래 코드 스니펫을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래 예와 같이 이 코드를 실행하십시오 -

node createHash.js

createHash.js

// crypto.createHash() demo example

// Importing crypto module
const crypto = require('crypto');

// Deffining the secret key
const secret = 'TutorialsPoint';

// Initializing the createHash method using secret
const hashValue = crypto.createHash('sha256', secret)

   // Data to be encoded
   .update('Welcome to TutorialsPoint !')

   // Defining encoding type
   .digest('hex');
// Printing the output
console.log("Hash Obtained is: ", hashValue);

출력

C:\home\node>> node createHash.js
Hash Obtained is:
5f55ecb1ca233d41dffb6fd9e307d37b9eb4dad472a9e7767e8727132b784461

예시

예를 하나 더 살펴보겠습니다.

// crypto.createHash() demo example

// Importing crypto module
const crypto = require('crypto');
const fs = require('fs');

// Getting the current file path
const filename = process.argv[1];

// Creting hash for current path using secret
const hash = crypto.createHash('sha256', "TutorialsPoint");

const input = fs.createReadStream(filename);
input.on('readable', () => {
   // Reading single element produced by hash stream.
   const val = input.read();
   if (val)
      hash.update(val);
   else {
      console.log(`${hash.digest('hex')} ${filename}`);
   }
});

출력

C:\home\node>> node createHash.js
d1bd739234aa1ede5acfaccee657296ead1879644764f45be17466a9192c3967
/home/node/test/createHash.js