跳转到主内容

哈希生成器

哈希生成器是一个在线工具,可以生成MD5、SHA-1、SHA-256、SHA-512哈希值。支持实时哈希计算和一键复制功能。

📝 输入文本

✨ 生成的哈希

MD5128-bit
SHA-1160-bit
SHA-256256-bit ⭐ 권장
SHA-512512-bit

哈希函数将任意大小的数据转换为固定大小的值。用于密码存储、文件完整性验证等。SHA-256是目前最推荐的算法。

功能

  • 多种算法:支持MD5、SHA-1、SHA-256、SHA-512
  • 实时计算:输入时自动生成所有哈希值
  • 一键复制:快速复制任何哈希值
  • 清除功能:一键清除所有输入和输出

什么是哈希函数?

哈希函数是将任意长度的数据转换为固定长度输出的算法。哈希值用于验证数据完整性、密码存储、数字签名等。

哈希算法比较

算法输出长度安全性用途
MD5128位 (32字符)❌ 不安全非安全性校验和
SHA-1160位 (40字符)⚠️ 已弱化遗留系统
SHA-256256位 (64字符)✅ 安全推荐用于安全用途
SHA-512512位 (128字符)✅ 安全高安全要求

安全警告

  • 不要使用MD5和SHA-1用于安全目的:这些算法已经被破解,不再安全
  • 不适合密码存储:直接哈希密码不安全,应使用bcrypt、scrypt或Argon2
  • 需要加盐:密码哈希时必须使用随机盐值防止彩虹表攻击

编程示例

JavaScript

// 使用Web Crypto API生成SHA-256
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('');
}

// 使用
sha256('Hello World').then(hash => {
console.log(hash);
// 输出: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
});

Python

import hashlib

# MD5
md5_hash = hashlib.md5('Hello World'.encode()).hexdigest()
print(md5_hash) # b10a8db164e0754105b7a99be72e3fe5

# SHA-256
sha256_hash = hashlib.sha256('Hello World'.encode()).hexdigest()
print(sha256_hash)
# a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

# SHA-512
sha512_hash = hashlib.sha512('Hello World'.encode()).hexdigest()
print(sha512_hash)

使用场景

1. 文件完整性验证

# 计算文件的SHA-256哈希
sha256sum file.zip

# 比较哈希值验证文件完整性

2. Git提交ID

Git使用SHA-1哈希值作为提交ID:

git log --oneline
# 输出: a1b2c3d Fix bug in authentication

3. 数据去重

使用哈希值快速识别重复数据,无需逐字节比较。

相关工具