HMAC sha256 nodejs
Thể hiện HMAC-SHA256. Cũng chứng minh HMAC-SHA1 và HMAC-MD5 var os = require('os'); if (os.platform() == 'win32') { if (os.arch() == 'ia32') { var chilkat = require('@chilkat/ck-node17-win-ia32'); } else { var chilkat = require('@chilkat/ck-node17-win64'); } } else if (os.platform() == 'linux') { if (os.arch() == 'arm') { var chilkat = require('@chilkat/ck-node17-arm'); } else if (os.arch() == 'x86') { var chilkat = require('@chilkat/ck-node17-linux32'); } else { var chilkat = require('@chilkat/ck-node17-linux64'); } } else if (os.platform() == 'darwin') { var chilkat = require('@chilkat/ck-node17-macosx'); } function chilkatExample() { // This example assumes Chilkat Crypt2 to have been previously unlocked. // See Unlock Crypt2 for sample code. // Demonstrates how to reproduce the following results found at // https://en.wikipedia.org/wiki/Hash-based_message_authentication_code // HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = 0xf7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8 // HMAC_MD5("key", "The quick brown fox jumps over the lazy dog") = 0x80070713463e7749b90c2dc24911e275 // HMAC_SHA1("key", "The quick brown fox jumps over the lazy dog") = 0xde7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9 var crypt = new chilkat.Crypt2(); crypt.MacAlgorithm = "hmac"; crypt.EncodingMode = "hex"; crypt.SetMacKeyString("key"); var sData = "The quick brown fox jumps over the lazy dog"; crypt.HashAlgorithm = "SHA-256"; console.log("HMAC_SHA256: " + crypt.MacStringENC(sData)); crypt.HashAlgorithm = "MD5"; console.log("HMAC_MD5: " + crypt.MacStringENC(sData)); crypt.HashAlgorithm = "SHA-1"; console.log("HMAC_SHA1: " + crypt.MacStringENC(sData)); // The output is the same (ignore case) // HMAC_SHA256: F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8 // HMAC_MD5: 80070713463E7749B90C2DC24911E275 // HMAC_SHA1: DE7C9B85B8B78AA6BC8A7A36F70A90701C9DB4D9 } chilkatExample(); [TL;DR] Tôi sẽ dễ dàng giới thiệu các khái niệm MAC và HMAC và cung cấp mã mẫu JavaScript rất đơn giản mà thậm chí bạn sẽ có thể sử dụng trong bảng điều khiển trình duyệt của mình MAC là viết tắt của Mã xác thực tin nhắn và nó còn được gọi là thẻ và trong giao tiếp đôi khi được thay thế bằng MIC hoặc mã toàn vẹn tin nhắn MAC để làm gì?Theo quan điểm chung, MAC là một phần thông tin bảo vệ thông báo bằng cách
Điều này đặc biệt quan trọng khi tin nhắn phải đi qua các kênh không an toàn. Các trường hợp sử dụng cụ thể sẽ được liệt kê dưới đây MAC hoạt động như thế nào?
Nó phải chống lại nỗ lực giả mạo thẻ của đối thủ cho các thông báo tùy ý, được chọn hoặc tất cả, kể cả trong các điều kiện của thông báo đã biết hoặc đã chọn. Tức là phải chống được việc giả mạo chữ ký số Sẽ không khả thi về mặt tính toán để tính toán một thẻ hợp lệ của thông báo đã cho mà không biết khóa HMACHMAC (mã xác thực tin nhắn dựa trên hàm băm) là một loại mã xác thực tin nhắn (MAC) cụ thể. Như với bất kỳ MAC nào, hàm băm có thể được sử dụng để xác minh tính toàn vẹn của dữ liệu và xác thực thông báo Tên hàm băm được sử dụng để gọi các hàm MAC khác nhau có mẫu HMAC-X, ví dụ HMAC-SHA256 hoặc HMAC-SHA3–512 ví dụ JavaScriptMở công cụ phát triển trình duyệt của bạn để thử các đoạn mã sau trên bảng điều khiển. Các đoạn mã này cũng sẽ hoạt động với Node. js Chức năng này thực hiện phiên bản HMAC-SHA256 async function hmacSha256Hex(secret, message) { Sử dụng chức năng này đơn giản như sau await hmacSha256Hex( Trong ví dụ trước, ánh xạ tới giải thích MAC, chúng ta có khóa K có giá trị “key”, thông báo M có giá trị “The quick brown fox jumps over the lazy dog” và thẻ T có giá trị “f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8” Kịch bản sử dụng cho HMACVì vậy, đến bây giờ, bạn nên hiểu cách thức hoạt động của HMAC — nếu không, vui lòng cho tôi biết trong phần nhận xét, phần nào khó hiểu để tôi có thể cải thiện nó. Bạn có thể thắc mắc đâu là kịch bản cụ thể cho công nghệ này. Chà, đây là một vài trong số chúng sẽ giúp bạn khi bạn đối mặt với những thử thách khác nhau |