📅  最后修改于: 2023-12-03 15:03:12.461000             🧑  作者: Mango
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.