Node.js – hmac.digest() 方法

HMAC是用于创建加密HMAC摘要的许多公用事业类之一。该方法用于计算使用该方法更新的所有数据。如果提供了编码,将返回一个字符串,否则返回一个缓冲区。Hmac.digest()Hmac.update()

语法

hmac.digest( [encoding] )

参数

  • encoding - 此输入参数接受在计算hmac 时要考虑的编码的输入。

示例 1

创建一个文件“ 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

示例 2

// 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=