Computer >> Máy Tính >  >> Lập trình >> Javascript

Phương thức crypto.createHash () trong Node.js

Phương thức crypto.createHash () sẽ tạo một đối tượng băm và sau đó trả về nó. Đối tượng băm của nó có thể được sử dụng để tạo thông báo băm bằng cách sử dụng thuật toán đã cho. Các tùy chọn tùy chọn được sử dụng để kiểm soát hành vi luồng. Đối với một số hàm băm như XOF và 'lắc256', độ dài đầu ra được sử dụng để chỉ định độ dài đầu ra mong muốn tính bằng byte.

Cú pháp

crypto.createHash(algorithm, [options])

Tham số

Các thông số trên được mô tả như bên dưới -

  • thuật toán - Thuật toán này được sử dụng để tạo ra các bản phân tích băm. Loại đầu vào là chuỗi.

  • tùy chọn - Đây là các tham số tùy chọn có thể được sử dụng để kiểm soát hành vi của luồng.

Ví dụ

Tạo một tệp với tên - createHash.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, sử dụng lệnh sau để chạy mã này như được hiển thị trong ví dụ bên dưới -

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);

Đầu ra

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

Ví dụ

Hãy xem thêm một ví dụ.

// 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}`);
   }
});

Đầu ra

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