工具功能
- MD5:生成 32 位十六进制哈希值
- SHA1:生成 40 位十六进制哈希值
- Base64:编解码双向转换,支持 UTF-8 中文
- 最大输入长度:16000 字符
- 纯浏览器执行,数据不上传
MD5 与 SHA1 的区别
| 算法 | 输出长度 | 安全性 | 速度 | 典型用途 |
|---|---|---|---|---|
| MD5 | 128 位 | 已不推荐(碰撞攻击) | 快 | 文件校验、URL 签名 |
| SHA1 | 160 位 | 已不推荐 | 较快 | Git 版本控制、旧 TLS 证书 |
密码存储场景建议使用 SHA-256 或 bcrypt,本工具仅做编码演示与校验用途。
Base64 编解码用途
- 在 HTTP/Email 中传输二进制数据(如图片转 data URL)
- API 接口 Basic Auth 凭据编码
- Data URI 嵌入小图片到 HTML/CSS
- 解码 token、查看 JWT 载荷(可结合 JWT 解码工具)
中文 UTF-8 处理
国内 MD5 在线工具多数默认 ASCII 编码,输入中文会得到错误结果。本工具使用 TextEncoder 强制 UTF-8 编码,与 Python hashlib.md5(text.encode('utf-8')) 结果一致。
MD5,SHA1 和 Base64 应该选哪个
MD5 与 SHA1 会把输入转换为固定长度的哈希值,通常用于核对同一段数据是否一致;它们不能从结果还原原文。Base64 则是可逆的编码方式,目的是把二进制或特殊字符转换成便于传输的文本,并不提供加密保护。需要隐藏密码,密钥或个人信息时,不要使用 Base64;需要存储用户密码时,也不要直接使用 MD5,SHA1 或普通 SHA-256,应采用带随机盐的 Argon2,scrypt,bcrypt 或 PBKDF2 等专用方案。
可核对的输入输出示例
以 UTF-8 编码计算时,文本 hello 的 MD5 为 5d41402abc4b2a76b9719d911017c592,SHA1 为 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d;中文 你好 的 Base64 编码为 5L2g5aW9。如果你的结果不同,请检查输入末尾是否多了换行或空格,以及源工具是否使用 UTF-8。复制终端输出时尤其要注意隐藏的换行符,因为哈希算法会把它视为输入的一部分。
常见问题
Q:MD5 能解密吗?
A:MD5 是单向哈希,无法「解密」。网上的「MD5 解密」网站本质是彩虹表查询,仅对常见密码有效。
Q:Base64 编码后变长多少?
A:约为原文的 4/3(即 3 字节原文 → 4 字节 Base64)。
相关工具
- UNIX 时间戳转换 — 编程常用工具
- 在线十六进制寄存器分析 — 嵌入式开发

