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

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

Phương thức crypto.createHmac () sẽ tạo một đối tượng Hmac và sau đó trả về nó. Hmac này sử dụng thuật toán và khóa đã truyền. Các tùy chọn tùy chọn sẽ được sử dụng để kiểm soát hành vi luồng. Khóa được xác định sẽ là khóa HMAC được sử dụng để tạo băm HMAC mật mã.

Cú pháp

crypto.createHmac(algorithm, key, [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 các đối tượng Hmac. Loại đầu vào là chuỗi.

  • phím - Khóa Hmac được sử dụng để tạo mã băm Hmac mật mã.

  • 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.

  • mã hóa - Mã hóa chuỗi để sử dụng.

Ví dụ

Tạo tệp với tên - createHmac.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 createHmac.js

createHmac.js

// crypto.createHmac() demo example

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

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

// Initializing the createHmac method using secret
const hmacValue = crypto.createHmac('sha256', secret)

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

   // Defining encoding type
   .digest('hex');

// Printing the output
console.log("Hmac value Obtained is: ", hmacValue);

Đầu ra

C:\home\node>> node createHmac.js
Hmac value Obtained is:
dd897f858bad70329fad82087110059f5cb920af2736d96277801f70bd57618e

Ví dụ

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

// crypto.createHmac() demo example

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

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

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

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

Đầu ra

C:\home\node>> node createHmac.js
0489ce5e4bd940c06253764e03927414f79269fe4f91b1c75184dc074fa86e22
/home/node/test/createHmac .js