📜  Node.js crypto.createHmac() 方法(1)

📅  最后修改于: 2023-12-03 15:03:12.461000             🧑  作者: Mango

Node.js crypto.createHmac() 方法

简介

crypto.createHmac() 方法是 Node.js 中一个用于创建哈希消息认证码(HMAC)的模块,该模块提供了一种安全的方式用于对数据进行加密和验证。

HMAC 是一种应用密码哈希算法(PBKDF),它的作用是将密钥与给定消息进行混合,以生成具有消息完整性和保密性的哈希值。

语法
crypto.createHmac(algorithm, key);
  • algorithm:字符串类型,表示要使用的 HMAC 算法。
  • key:可选参数,字符串类型或 Buffer 对象,表示要使用的密钥。
示例

下面是一个使用 crypto.createHmac() 方法进行 HMAC 生成和验证的示例代码:

const crypto = require('crypto');

// 生成哈希值
const secretKey = 'mySecretKey';
const hmac = crypto.createHmac('sha256', secretKey);
hmac.update('hello world');
const hash = hmac.digest('hex');

console.log(`HMAC: ${hash}`);

// 验证哈希值
const secretKey2 = 'mySecretKey';
const hmac2 = crypto.createHmac('sha256', secretKey2);
hmac2.update('hello world');
const hash2 = hmac2.digest('hex');

if (hash === hash2) {
  console.log('HMAC verified.');
} else {
  console.log('HMAC verification failed.');
}

输出结果为:

HMAC: 7cf3b5dfa5b7c66b059e1b7ea50458041a033f15bb4b4fccadb4ad6e399e2b09
HMAC verified.
参考链接