该HMAC类是用于创建加密HMAC摘要的许多公用事业类之一。该方法用于计算使用该方法更新的所有数据。如果提供了编码,将返回一个字符串,否则返回一个缓冲区。Hmac.digest()Hmac.update()
hmac.digest( [encoding] )
encoding - 此输入参数接受在计算hmac 时要考虑的编码的输入。
创建一个文件“ hmacDigest.js ”并复制以下代码片段。创建文件使用后,使用命令“ node hmacDigest.js ”运行此代码。
// Hmac.digest() 演示示例 // 导入加密模块 const crypto = require("crypto") // 使用编码和密钥初始化 Hmac 对象 const hmac = crypto.createHmac('sha256', 'secretKey'); // 使用以下数据更新 hmac hmac.update('Welcome to Tutorials point'); // 使用摘要打印 hmac 值 console.log("Hmac是: " + hmac.digest('hex'))输出结果
C:\home\node>> node hmacDigest.js Hmac是: 4e6fa9b98ed4c498a498148bd720cc7b14b40b148e5b919bc89869b8c5dd5c9e
// Hmac.digest() 演示示例 // 导入加密模块 const crypto = require("crypto") // 使用编码和密钥初始化 Hmac 对象 const hmac = crypto.createHmac('sha256', 'secretKey'); // 定义 hmac 编码算法 var encoding = "sha256" // 定义密钥 var secretKey = "1234567890" // 定义要散列的数据 var data = "nhooo" // 以十六进制编码创建 Hmac let hmacDigest = crypto.createHmac(encoding, secretKey).update(data).digest("hex") // 以 base64 编码创建 Hmac let hmacDigestWithBase64 = crypto.createHmac(encoding, secretKey).update(data).digest("base64") // 使用摘要打印 hmac 值 console.log("十六进制中的 Hmac 是: " + hmacDigest) console.log("Base64 编码中的 Hmac: " + hmacDigestWithBase64)输出结果
C:\home\node>> node hmacDigest.js 十六进制中的 Hmac 是: 05fa1c5566678274ca0a4db70b0522cbb765140fa5903fbd42c1eac8682538dd Base64 编码中的 Hmac: BfocVWZngnTKCk23CwUiy7dlFA+lkD+9QsHqyGglON0=