🛠️ToolsShed

Hash Generator

生成 MD5、SHA-256 和 SHA-512 加密哈希值。

MD5 在客户端计算。SHA-256 和 SHA-512 使用浏览器原生的 crypto.subtle API。数据不会离开浏览器。

哈希生成器使用 MD5、SHA-1、SHA-256 和 SHA-512 等流行算法为任意文本或字符串输入计算加密哈希值。哈希函数接受任意输入并生成唯一代表数据的固定长度指纹——即使只更改一个字符也会产生完全不同的哈希值。

在输入框中键入或粘贴文本,工具会立即显示所有支持算法的哈希值。您可以使用它验证文件完整性、存储密码摘要、创建缓存键或为 HTTP 缓存生成 ETag。

哈希是单向函数——您无法反转哈希来恢复原始输入。这使其对于安全存储密码和在不暴露原始内容的情况下验证数据至关重要。所有计算均在您的浏览器本地进行。

常见问题

代码实现

import hashlib

text = "Hello, World!"

# SHA-256 (recommended for security)
sha256 = hashlib.sha256(text.encode()).hexdigest()
print(sha256)
# dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986d

# SHA-512
sha512 = hashlib.sha512(text.encode()).hexdigest()
print(sha512)

# MD5 (not for security — use for checksums only)
md5 = hashlib.md5(text.encode()).hexdigest()
print(md5)  # 65a8e27d8879283831b664bd8b7f0ad4

# Hash a file (streaming, handles large files)
def hash_file(path: str, algorithm: str = "sha256") -> str:
    h = hashlib.new(algorithm)
    with open(path, "rb") as f:
        for chunk in iter(lambda: f.read(8192), b""):
            h.update(chunk)
    return h.hexdigest()

# Password hashing (use bcrypt/argon2, not hashlib directly)
# pip install bcrypt
import bcrypt
password = b"mysecretpassword"
hashed = bcrypt.hashpw(password, bcrypt.gensalt())
is_valid = bcrypt.checkpw(password, hashed)  # True

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.