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