Oh MyUtils

哈希生成器 - MD5, SHA-256, SHA-512 在线

从文本或文件生成MD5、SHA-1、SHA-256、SHA-384、SHA-512哈希。创建HMAC哈希并验证校验和 — 100%浏览器处理。

输出格式
输入
0 个字符 · 0 字节

哈希结果

MD5
SHA-1
SHA-256
SHA-512

常见问题

什么是哈希函数?

哈希函数是一种数学算法,可将任意输入数据转换为固定大小的字符串,称为摘要或哈希值。相同的输入始终产生相同的哈希,但即使输入有微小的变化也会产生完全不同的哈希。哈希是单向函数,这意味着您无法从哈希值反推出原始输入。

MD5、SHA-1、SHA-256和SHA-512有什么区别?

这些算法在输出大小和安全级别上有所不同。MD5生成128位(32个十六进制字符)哈希,但在密码学上已被破解。SHA-1生成160位(40个十六进制字符)哈希,但由于碰撞攻击已被弃用。SHA-256生成256位(64个十六进制字符)哈希,对于大多数应用程序是安全的。SHA-512生成512位(128个十六进制字符)哈希,提供最高级别的安全性。

为什么MD5和SHA-1被认为是不安全的?

MD5和SHA-1容易受到碰撞攻击,即两个不同的输入可以产生相同的哈希。MD5在2004年被破解,并已演示了实际的碰撞攻击。SHA-1在研究人员演示了实际碰撞攻击后于2017年被弃用。对于密码哈希、数字签名或数据完整性验证等安全敏感的应用程序,请改用SHA-256或SHA-512。

哈希函数的常见用例有哪些?

哈希函数用于数据完整性验证(检查文件是否被修改)、密码存储(存储哈希密码而非明文)、数字签名和证书、下载校验和验证、内容去重(识别相同文件)、区块链和加密货币,以及Git版本控制(提交标识符使用SHA-1)。

如何使用哈希验证文件完整性?

要验证文件的完整性,请计算其哈希并与已知的正确哈希进行比较。此工具支持通过拖放或文件选择进行文件哈希。上传您的文件,工具将为所有支持的算法生成哈希。将结果与文件来源提供的预期哈希进行比较。匹配则确认文件未被修改或损坏。

使用此工具处理敏感数据安全吗?

是的。此工具使用Web Crypto API 100%在您的浏览器中运行。任何数据都不会发送到任何服务器。所有哈希计算都在您的设备上本地进行,因此处理敏感信息是安全的。该工具在初始页面加载后可离线工作,确保您数据的完全隐私。

代码示例

// SHA-256 hash using Web Crypto API
async function sha256(text) {
  const encoder = new TextEncoder();
  const data = encoder.encode(text);
  const hashBuffer = await crypto.subtle.digest('SHA-256', data);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}

// Usage
const hash = await sha256('Hello, World!');
console.log(hash); // "dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f"

相关工具