哈希生成器与编码工具 — SHA-256、MD5、Base64、JWT 解码

生成加密哈希值,编解码 Base64、URL 和 HTML 实体,解码 JWT 令牌。所有处理均在浏览器本地完成,数据永远不会发送到服务器。

所有处理均在您的浏览器中完成。不会将任何数据发送到服务器。
输出格式:

使用方法

1

选择工具

从哈希生成器、Base64、URL 编码、HTML 实体或 JWT 解码器选项卡中选择。每个工具专门针对其编码类型。

2

输入数据

在输入框中键入或粘贴文本。对于哈希,还可以上传文件。结果会在您输入时即时生成。

3

复制结果

复制单个结果或一次性复制所有哈希值。所有操作都在浏览器中运行,完全不与服务器通信。

为什么选择我们的哈希编码工具?

100% 隐私安全

所有哈希和编码均使用浏览器原生 Web Crypto API 在本地运行。数据永远不会离开您的设备——不会向任何服务器发送任何内容。

五合一工具

哈希生成器(MD5、SHA-1/256/384/512)、Base64、URL 编码、HTML 实体编码和 JWT 解码器,统一在一个界面中。

文件哈希支持

使用 Web Crypto API 直接在浏览器中对任意大小的文件进行哈希。通过 SHA-256 或 SHA-512 校验和验证文件完整性。

哈希生成器与编码工具是 Aibrify 提供的免费浏览器端加密工具,无需将数据上传到任何服务器即可生成 MD5、SHA-256、SHA-512 哈希值并编解码 Base64、URL、HTML 实体和 JWT 令牌。专为需要快速、隐私优先的哈希和编码工具的开发者和营销人员打造。

了解加密哈希函数

加密哈希函数接受任何输入并产生一个固定大小的输出(哈希值或摘要),该输出对于该输入是唯一的。即使输入中有一个字符的变化,也会产生完全不同的哈希值。这种特性称为雪崩效应,使哈希函数对于数据完整性验证、数字签名和密码存储至关重要。

我们的免费哈希生成器支持五种算法:MD5(128位)、SHA-1(160位)、SHA-256(256位)、SHA-384(384位)和 SHA-512(512位)。所有 SHA 哈希均使用浏览器原生的 crypto.subtle API 计算,以获得最佳性能和安全性。

何时使用每种哈希算法

  • MD5 —— 速度快但在密码学上已被破解。仅用于非安全校验和(文件去重、缓存键)。永远不要用于密码或安全场景。
  • SHA-1 —— 自 2017 年起已弃用于安全用途。已证明存在碰撞(SHAttered 攻击)。仅用于遗留兼容性。
  • SHA-256 —— 最广泛使用的安全哈希。用于 SSL/TLS 证书、比特币、Git 提交和代码签名。推荐用于大多数应用。
  • SHA-384 —— SHA-512 的截断版本。用于某些 TLS 密码套件和政府标准(FIPS 180-4)。
  • SHA-512 —— SHA-2 系列中最强的哈希。追求最大安全性时首选,在 64 位处理器上比 SHA-256 略快。

Base64 编码详解

Base64 是一种二进制到文本的编码方案,使用 64 个可打印的 ASCII 字符表示二进制数据。每 3 字节输入变为 4 个 Base64 字符,使输出比输入大约增加 33%。常见用例包括:

  • Data URI —— 直接在 HTML 或 CSS 中嵌入图像,无需单独的 HTTP 请求。
  • 邮件附件 —— MIME 编码使用 Base64 通过基于文本的邮件协议传输二进制文件。
  • API 载荷 —— 在 JSON 或 XML API 请求中发送二进制数据(图像、文件)。
  • JWT 令牌 —— JWT 的头部和载荷都是 Base64URL 编码的。

URL 编码最佳实践

URL 编码确保特殊字符在 URL 中安全传输。关键规则是:

  • 保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)在 URL 中有特殊含义,用作数据时必须编码。
  • 不安全字符(空格、<、>、{、}、|、\、^、~、`)应始终编码。
  • 非保留字符(A-Z、a-z、0-9、-、_、.、~)永远不需要编码。
  • 对单个查询参数值使用 encodeURIComponent()。对要保留 URL 结构的完整 URL 使用 encodeURI()

JWT 令牌结构与安全

JSON Web Token 由三个由点分隔的 Base64URL 编码部分组成:xxxxx.yyyyy.zzzzz。头部指定签名算法(如 HS256、RS256)。载荷包含声明——标准声明如 exp(过期时间)、iat(签发时间)、sub(主题),以及自定义声明如用户角色或权限。签名是通过使用密钥对头部和载荷进行哈希来创建的。

重要提示:JWT 默认未加密。载荷仅经过 Base64 编码,任何人都可以读取。永远不要在 JWT 载荷中存储敏感数据(密码、信用卡号)。如果需要载荷保密性,请使用 JWE(JSON Web Encryption)。

常见问题

什么是哈希函数?有什么用途?
哈希函数将任何输入转换为固定长度的不可逆字符串,用于数据验证和安全。它们广泛应用于数据完整性验证(校验和)、密码存储、数字签名和去重。常见的哈希算法包括 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。
SHA-256 和 MD5 有什么区别?
SHA-256 在密码学上是安全的,而 MD5 已被破解,存在碰撞漏洞。MD5 生成 128 位(32 个十六进制字符)哈希值,SHA-256 生成 256 位(64 个十六进制字符)哈希值,属于 SHA-2 系列。对于任何安全敏感的应用(密码哈希、证书验证、数据完整性),应使用 SHA-256 或 SHA-512 而不是 MD5。
什么是 Base64 编码?什么时候应该使用它?
Base64 将二进制数据转换为可打印的 ASCII 文本,常用于嵌入图像和传输文件。它使用 64 个字符(A-Z、a-z、0-9、+、/),广泛应用于 data URI、JSON/XML 载荷、邮件附件(MIME)和文本数据库。Base64 不是加密——它很容易被还原,永远不应用于安全目的。
URL 编码是如何工作的?
URL 编码将不安全字符替换为百分号加两位十六进制数字,例如空格变为 %20。这确保了 URL 能被正确传输,因为某些字符在 URL 中有特殊含义(?、&、=、#)。对查询参数值使用 encodeURIComponent(),对完整 URL 使用 encodeURI()。
什么是 JWT?如何读取它?
JWT 是一种紧凑的、以点分隔的令牌,用于身份验证和数据交换。它有三个部分:头部(算法和令牌类型)、载荷(如用户 ID、过期时间等声明)和签名(验证哈希)。我们的解码器将头部和载荷显示为格式化的 JSON,并根据 exp 声明指示令牌是否已过期。
在浏览器中解码 JWT 安全吗?
是的,在浏览器中解码 JWT 是安全的,因为它只读取 Base64 编码的数据,不涉及加密密钥。签名部分需要密钥来验证,但不需要密钥来解码。我们的工具从不将您的令牌发送到任何服务器。但是,请注意不要在会传输数据的在线工具中粘贴包含敏感信息的生产环境令牌。
什么是 HTML 实体?为什么它们很重要?
HTML 实体是用于安全表示 < 和 & 等保留字符的特殊代码。例如,< 变为 &lt;,& 变为 &amp;。将用户输入编码为 HTML 实体可以防止跨站脚本(XSS)攻击,确保用户提交内容中的 HTML 标签被显示为文本而不是作为代码执行。
可以用这个工具对文件进行哈希吗?
可以,支持在浏览器中直接对任何文件生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希值。文件通过 Web Crypto API 在浏览器本地读取,永远不会上传到服务器。注意:MD5 仅适用于文本输入,因为它使用 JavaScript 实现而不是 Web Crypto。
零数据采集隐私无忧GDPR 合规

最后更新: 2025-03-17 · 由 Aibrify 团队构建和维护 — 10,000+ 营销人信赖

用 Aibrify 保护您的营销数据

Aibrify 营销自动化平台帮助您管理营销活动、追踪绩效,并在所有渠道保护您的品牌数据。

免费试用