HMAC 生成器

从文本输入和密钥即时生成 HMAC(基于哈希的消息认证码)值。HMAC 提供数据完整性和真实性验证,使其成为 API 认证、消息签名和安全通信协议必不可少的工具。我们的免费浏览器工具支持使用 MD5、SHA-1、SHA-256 和 SHA-512 哈希函数的 HMAC,所有计算都在本地进行,确保完全隐私。

HMAC-SHA256 Hash Generator

使用密钥生成消息认证码,用于数据完整性与真实性校验。

功能介绍

HMAC(基于哈希的消息认证码)是一种密码学机制,将密钥与哈希函数结合生成消息认证码,提供完整性和真实性验证。与简单哈希不同,HMAC 要求验证者拥有相同的密钥来验证消息,防止没有密钥的各方进行篡改。在 RFC 2104 中定义,HMAC 通过哈希密钥(填充到块大小)与内部和外部填充常量进行异或运算,然后与消息连接来构建。这种构造确保即使底层哈希函数有弱点(如 MD5 或 SHA-1),HMAC 仍然保持安全。HMAC-SHA256 广泛用于 API 认证(AWS 签名、JWT)、消息签名、CSRF 令牌生成和安全 Cookie 验证。我们的工具支持所有主要哈希算法的 HMAC,允许您为用例选择适当的安全级别。

使用方法

  1. 在浏览器中打开 HMAC 生成器——无需安装或注册。
  2. 从下拉菜单中选择您首选的哈希算法(大多数应用推荐 HMAC-SHA256)。
  3. 在密钥字段中输入您的密钥——此密钥用于生成和验证。
  4. 在输入区域输入或粘贴您要认证的消息。
  5. HMAC 即时计算,以十六进制字符串显示在输出区域。
  6. 复制 HMAC 值以用于 API 请求、消息头或验证过程。

计算示例

输入: 消息:"hello",密钥:"secret"

过程:

HMAC-SHA256("hello", "secret")

结果: 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b

输入: 消息:"world",密钥:"key123"

过程:

HMAC-SHA1("world", "key123")

结果: 0aca9adecdb9e148c37510688729d52c95fe3455

相关搜索

相关搜索:HMAC, HMAC-SHA256, 消息认证, MAC码, 密钥哈希, API认证。

HMACHMAC-SHA256消息认证MAC码密钥哈希API认证

常见问题

HMAC 和常规哈希有什么区别?

常规哈希(如 SHA-256)只提供数据完整性——任何人都可以计算消息的哈希。HMAC 在哈希过程中添加了密钥,提供完整性和真实性。使用 HMAC,只有拥有密钥的各方才能生成或验证认证码。这意味着攻击者无法修改消息并生成有效的 HMAC,即使他们知道正在使用的哈希算法。这使得 HMAC 适用于 API 认证、消息签名以及任何需要验证消息来自可信来源且未被篡改的场景。

HMAC 应该使用哪种哈希算法?

HMAC-SHA256 是大多数应用的推荐选择,提供 256 位安全性和广泛的兼容性。它被 AWS 签名版本 4、JSON Web Tokens (JWT) 和现代 API 认证系统使用。HMAC-SHA512 为长期保护或机密数据提供更高的安全裕度。HMAC-SHA1 对于 HMAC 目的仍然被认为是安全的(HMAC 的安全性不依赖于哈希的抗碰撞性),但正在被 SHA-256 取代。新应用应避免使用 HMAC-MD5,因为尽管理论上 HMAC-MD5 是安全的,但使用已弃用的哈希函数会降低信任并可能无法满足合规要求。

应该如何管理 HMAC 密钥?

HMAC 密钥应使用具有至少 256 位熵(32 字节)的密码学安全随机数生成器生成。使用环境变量、硬件安全模块 (HSM) 或专用密钥管理服务(如 AWS Secrets Manager、HashiCorp Vault 或 Azure Key Vault)安全地存储密钥。永远不要将密钥硬编码在源代码中或提交到版本控制。定期轮换密钥并制定允许优雅过渡的密钥轮换策略。密钥应使用加密通道在各方之间安全共享,并且对密钥的访问应被记录和审计。

HMAC 是加密的吗?可以逆向吗?

HMAC 不是加密——它是消息认证码。它无法从 HMAC 输出恢复原始消息或密钥。HMAC 的目的是验证消息未被篡改并且来自拥有密钥的各方。要验证 HMAC,您使用接收到的消息和您的密钥副本重新计算它,然后将结果与接收到的 HMAC 进行比较。如果它们匹配,则消息是真实的。这与加密根本不同,加密被设计为可逆的(使用密钥)以恢复原始数据。

相关工具

MD5 哈希生成器

从任意文本输入即时生成 MD5 哈希值。MD5(消息摘要算法 5)生成 128 位哈希值,常用于数据完整性验证和校验和生成。虽然由于已知的碰撞漏洞,MD5 不再被认为是密码学安全的,但它在文件完整性检查、缓存键生成和数据快速指纹识别等非安全关键应用中仍被广泛使用。我们的免费浏览器工具在本地计算 MD5 哈希——您的数据永远不会离开您的设备,确保敏感输入的完全隐私。

SHA-1 哈希生成器

从任意文本输入即时生成 SHA-1 哈希值。SHA-1(安全哈希算法 1)生成 160 位哈希值,已广泛用于安全协议和版本控制系统。虽然由于已演示的碰撞攻击,SHA-1 现在已被弃用于密码学目的,但它在 Git 提交标识、遗留系统兼容性和非安全指纹识别任务中仍然必不可少。我们的免费浏览器工具在本地计算 SHA-1 哈希,不会将您的数据传输到任何服务器。

SHA-256 哈希生成器

从任意文本输入即时生成 SHA-256 哈希值。SHA-256(安全哈希算法 256 位)是当前密码学哈希的黄金标准,为比特币挖矿、区块链技术、SSL/TLS 证书和现代安全协议提供动力。由于没有已知的实用碰撞攻击,SHA-256 提供 256 位安全强度,适用于最苛刻的应用。我们的免费浏览器工具在本地计算 SHA-256 哈希,确保您的敏感数据永远不会离开您的设备。

SHA-512 哈希生成器

从任意文本输入即时生成 SHA-512 哈希值。SHA-512(安全哈希算法 512 位)在 SHA-2 系列中提供最高安全裕度,其 512 位输出使其成为需要最大抗碰撞性和面向未来安全性的应用的理想选择。在 64 位系统上,SHA-512 通常比 SHA-256 性能更好,同时提供双倍的哈希长度。我们的免费浏览器工具在本地计算 SHA-512 哈希,保持您的数据完全私密。

文件哈希生成器

直接在浏览器中计算任意文件的密码学哈希值。我们的文件哈希生成器支持 MD5、SHA-1、SHA-256 和 SHA-512 算法,允许您验证文件完整性、验证下载并生成校验和,而无需将文件上传到任何服务器。整个哈希过程使用浏览器的 FileReader API 在本地运行,确保敏感文件的完全隐私和安全。

Bcrypt 生成器 - 在线创建密码哈希

对密码做哈希并不难,难的是按现代应用应有的方式去做,因为算法选择直接决定了一次离线攻击需要多长时间,而正确答案取决于你的硬件和威胁模型。bcrypt 二十多年来一直是密码存储的默认推荐,原因在于它刻意设计得很慢,而且强度可调:同一个算法在今天的普通服务器上可能耗时 100 毫秒,十年后的高性能机器上可能需要 250 毫秒,而持有哈希的离线攻击者每猜一次都必须付出同样的全部成本,用显卡批量爆破也无法把这个成本摊薄到可接受的范围。这个免费的 bcrypt 生成器能为你输入的任何口令生成格式完全正确的 bcrypt 哈希,允许你自行设置计算强度并看到大致耗时(毫秒)。它还支持验证已有哈希,而这正是常被忽略的一步:把口令与已存哈希比对和生成哈希是两个完全不同的操作,这里两者都支持。所有计算都在浏览器端完成,明文口令不会被传输、不会被记录、不会存储在任何服务器上。这一点很关键:一个密码哈希工具只有在看不到你哈希的内容时才值得信任,而这个工具根本收不到它,也不会在你刷新页面之后还留着任何东西。它还支持反向校验,也就是拿一段已有的哈希去比对某个口令是否匹配,这在测试接口对接或者迁移历史凭据时非常关键,却常被完全忽略,很多人以为能生成哈希就等于能验证,其实这是两个独立的能力。

CRC-32 计算器 - 文本、十六进制与文件校验和

计算 CRC-32 这件事本身并不复杂,真正让人挠头的是经常把两个问题混为一谈:一个是算法怎么算,另一个是校验和究竟拿来干什么。算法层面,这个计算器实现的是 ISO 3309 与 ITU-T V.42 规定的反射式查表算法,喂进去任何一段字节序列,吐出来都是一个 32 位整数。用途层面,CRC 只是一个检错码,不是安全工具,它被设计成用极低的成本回答一个问题:数据在传输、存储或者复制的途中有没有被意外弄坏。电磁噪声、老化的磁盘扇区、下载被截断、文件在某个环节被悄悄替换,这些情况 CRC 几乎都能立刻发现。这个免费计算器覆盖了实际工作中会遇到的三种输入方式。你可以直接输入一段文本,工具会先按 UTF-8 编码再计算,这对含中文或者表情符号的内容尤其重要,因为它们的字节数往往比看上去多;也可以粘贴十六进制字节串,用来处理固件头、网络报文这类二进制内容;还可以直接选择文件,对整个文件内容一次性算出校验值,不存在实际意义上的体积上限。输出格式下拉菜单可以在十六进制、十进制、八进制、三十二位二进制和 Base64 之间切换,因为你要填的地方格式各不相同:压缩包头部记的是十六进制,大多数脚本库打印出来是十进制整数,而有些协议会把四个字节装进 Base64 字段再传输。结果下方还有一张汇总表,列出消息的字节长度,以及一个在数据末尾追加一个零字节后算出的 CRC-32b 值,方便你对照不同协议的定义。整个过程完全在你的浏览器里由 JavaScript 本地完成,输入的文本和选择的文件不会被上传、不会被记录、也不会被保存。

热门工具

EMI 计算器

想知道你每个月要还多少贷款?我们的 EMI 计算器几秒钟就能算好。只需输入贷款金额、利率和期限,就能看到精确的月供。 本工具采用先进的算法引擎,确保每次计算结果的精确性和可靠性,适合个人用户、财务顾问、企业会计师、投资分析师、房产经纪...

BMI 计算器

每次站上体重秤,你是否都在纠结那个数字到底意味着什么?是胖了还是瘦了?健不健康?BMI(身体质量指数)是目前全球最通用的体重健康评估指标,被世界卫生组织、各国医疗机构、保险公司和健身教练广泛采用。保持BMI在正常范围内(18.5-24...

体脂率计算器

体脂率计算器帮你用一个不需要去医院或健身房的简单方式,快速估算你身体中脂肪组织所占的百分比。相比单纯看体重秤上的数字,体脂率是衡量身体健康状况更准确、更有意义的核心指标。两个体重完全相同的人,体脂率不同,体型可能天差地别,长期健康风险...

CAGR 计算器

想要知道你的投资每年平均增长了多少百分比吗?复合年均增长率CAGR计算器是评估投资表现的核心工具,它能够帮你计算出一笔投资在多年期间的年均复合增长率,让你清楚地了解投资的真实年化收益水平,从而客观评价你的投资决策是否成功。无论你是想评...

单位转换 - 转换工具

从烹饪到建筑,从科学到购物,单位转换是你一直需要但从来记不住公式的东西。5K比赛是多少公里?200磅是多少千克?一加仑是多少升?单位转换器是你的测量通用翻译器。涵盖长度、重量、体积、温度、速度、压力、能量、功率、面积和数据存储——全在...

年龄计算器

计算精确的年龄并不像用当前年份减去出生年份那么简单。闰年、不同的月份长度以及时区都会让手动计算变得棘手。我们的年龄计算器为你省去了这些麻烦——只需输入出生日期,就能获得精确到年、月、周、天、小时甚至分钟的结果。无论是填写需要精确年龄的...

JSON格式化工具

欢迎使用我们免费的在线 JSON 格式化工具 — 一个强大且易用的 JSON 美化、验证和编辑工具。无论您是在调试难以阅读的压缩 JSON 数据、格式化 API 响应以供分析、准备 JSON 文档用于展示,还是在开发过程中验证 JSO...

二维码生成器

需要为您的网站、名片、活动、产品包装或营销活动创建专业二维码?我们的免费二维码生成器可在数秒内创建高质量、可扫描的二维码——无需注册、没有限制、没有水印。只需输入您的URL、文本、联系信息、Wi-Fi凭证或任何其他数据类型,即可获得一...

薪资计算器

了解你真实的到手收入对预算、规划和做出明智的职业决策至关重要,然而大多数人只看CTC数字而不了解每月实际到银行账户里有多少钱。我们的薪资计算器从雇主成本角度分解你的完整薪酬包,到扣除所有费用后的实际到手工资。无论你是想比较不同工作of...

小费计算器

外出就餐、理发、打车或接受任何个人服务时,往往会遇到该给多少小费的问题。小费计算器能根据你的消费总额和你体验到的服务质量,快速计算出合适的小费金额,免去了猜测的困扰。不同国家和不同服务类型的小费习惯差异很大,在某个地方算慷慨的行为在另...

字数统计 - 文字工具

需要准确的词数统计用于文章、论文或文档?这个文字计数器给你即时精确的词数、字符数、句子数和段落数。不管你是学生要满足字数要求、写作者追踪日常产出、译者估计项目大小还是内容经理核实简报要求,这个工具告诉你到底写了多少。它超越简单词数给你...

颜色代码转换器

颜色代码转换器是一个免费的在线工具,可以即时在网页设计和开发中使用的不同颜色格式之间进行转换。一键转换 HEX(#RRGGBB)、RGB(rgb(r,g,b))、RGBA(rgba(r,g,b,a))、HSL(hsl(h,s%,l%)...