> hmac | 认证 | 签名 <

// 使用密钥生成HMAC消息认证码

[安全]

Web Crypto API

使用浏览器原生Web Crypto API安全生成HMAC。您的数据永远不会离开浏览器。

[多算法]

4种哈希算法

支持HMAC-SHA256、HMAC-SHA1、HMAC-SHA384和HMAC-SHA512。选择适合您需求的算法。

[免费]

本地处理

100%客户端处理。无服务器上传,无数据收集,完全免费。

// 关于HMAC

HMAC工作原理:

HMAC(基于哈希的消息认证码)在RFC 2104中定义。它将加密哈希函数与密钥结合来生成消息认证码。算法使用内部和外部填充(ipad/opad)与密钥配合。

示例:

HMAC-SHA256("Hello", "secret") → 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b

常见用途:

  • >API请求认证和签名验证
  • >Webhook负载验证
  • >JSON Web Token(JWT)签名
  • >消息完整性验证
  • >安全会话令牌生成

>> 常见问题

问:HMAC是什么?

答:HMAC(基于哈希的消息认证码)是一种使用加密哈希函数与密钥结合来计算消息认证码的机制。

问:HMAC和普通哈希有什么区别?

答:普通哈希(如SHA-256)只提供数据完整性。HMAC添加了密钥,因此只有知道密钥的各方才能生成或验证代码。

问:HMAC如何用于API签名验证?

答:许多API(AWS、Stripe、GitHub)使用HMAC对请求进行签名。发送方使用共享密钥计算请求体的HMAC。

问:应该使用哪种HMAC算法?

答:HMAC-SHA256是通用用途最推荐的。HMAC-SHA1仍在旧系统中使用。HMAC-SHA384和HMAC-SHA512提供更高的安全性。

问:密钥应该多长?

答:密钥至少应与哈希输出一样长(例如HMAC-SHA256为32字节)。更短的密钥会降低安全性。

// 其他语言