首页 / 工具 / 哈希与摘要

哈希与摘要

在本地计算 MD5 / SHA-1 / SHA-256 / SHA-512。文本直接输入,文件通过 FileReader 读进内存,全程不上传、不联网;浏览器自带 Web Crypto 时优先用它,不可用时自动切到本页自带的纯 JavaScript 实现。

算法

· 等待输入

内容
摘要

输入信息

—
来源
—
字节数
—
字符数
—
已算算法
—
实现后端
—
耗时
—

几点说明

  • 数据不出浏览器 · 零网络请求 · 可断网可用。
  • 文本输入先按 UTF-8 编码成字节再计算,所以中文、emoji 的摘要与其它工具算出来的一致(例如「中文」是 6 字节)。
  • 文件通过 FileReader 以 ArrayBuffer 读进内存,不上传服务器;大文件会占用相应内存,几十 MB 以内一般没问题。
  • 优先使用浏览器内置的 crypto.subtle.digest(原生实现,通常更快);它不可用时自动切换到本页自带的纯 JavaScript 实现,覆盖 MD5、SHA-1、SHA-256、SHA-512 四种算法全部,功能不会因此缺失。
  • MD5 与 SHA-1 早已被证明存在碰撞,不要再用于签名或口令存储;这里保留它们只是为了校验下载完整性、比对旧记录这类用途。要抗碰撞请用 SHA-256 或 SHA-512。
  • 摘要本身不是加密:它是单向的,但短口令的摘要可以被穷举反查,所以不要把口令的摘要当作安全凭证保存。
  • Base64 输出的是摘要这串二进制本身的编码,不是把十六进制再编码一次 —— 它比 hex 短三分之一。