Tất cả công cụ

Trình tạo hàm băm

Hàm băm mật mã ánh xạ đầu vào có kích thước bất kỳ vào dấu vân tay có độ dài cố định. Sử dụng SHA-256 để kiểm tra tính toàn vẹn của tệp, khóa bộ đệm và tìm hiểu — không phải để lưu trữ mật khẩu (sử dụng bcrypt/Argon2). Băm tính toán cục bộ để mật khẩu và bí mật trong chuỗi kiểm tra vẫn ở trên thiết bị nếu bạn sử dụng cẩn thận.
Đầu vào

Cách tạo hàm băm

1. Dán văn bản hoặc tải tệp nhỏ lên nếu được hỗ trợ.
2. Chọn thuật toán (nên dùng SHA-256 cho tác phẩm mới).
3. Sao chép đầu ra thông báo hệ lục phân.
4. So sánh với tổng kiểm tra dự kiến từ trang tải xuống của nhà cung cấp.

Ví dụ về hàm băm

Xác minh tính toàn vẹn của tải xuống

So sánh SHA-256 của tệp iso với hàm băm do nhà xuất bản đăng.

Khóa bộ nhớ đệm

Băm nội dung yêu cầu JSON chuẩn vào khóa mục nhập Redis chống trùng lặp.

Băm email Gravatar

MD5 của email viết thường cho URL hình đại diện cũ — MD5 không dùng để bảo mật.

Khi nào nên băm dữ liệu

Khi xác minh lượt tải xuống tệp dựa trên tổng kiểm tra đã xuất bản.
Khi tạo ID xác định từ nội dung (kiểu git blob).
Khi dạy cách hoạt động của các hàm một chiều.

Khi băm sai

Không bao giờ chỉ MD5/SHA1 để lưu trữ mật khẩu — hãy dùng thuật toán băm mật khẩu.
Khi bạn cần khả năng đảo ngược — hàm băm là một chiều.
Khi khả năng chống va chạm của MD5/SHA1 quan trọng đối với bảo mật — hãy dùng SHA-256+.

Tính toàn vẹn không tính xác thực

Hàm băm chứng minh tệp không thay đổi kể từ khi hàm băm được xuất bản — ký hàm băm bằng GPG để chứng minh tác giả.

Phần mở rộng chiều dài

MD5/SHA1/SHA256 ở dạng đơn giản dễ bị mở rộng độ dài do lạm dụng MAC — sử dụng HMAC-SHA256 để xác thực thư.

Đề cập đến chuỗi khối

Khối chuỗi tiêu đề băm trước đó — về mặt khái niệm cùng họ SHA-256, ngữ cảnh khác với tổng kiểm tra tệp.

Câu hỏi thường gặp

SHA-256 so với MD5?

SHA-256 được đảm bảo tính toàn vẹn; MD5 có các cuộc tấn công xung đột — chỉ phù hợp với các khóa bộ đệm không đối nghịch.

Mật khẩu muối?

Sử dụng API băm mật khẩu chuyên dụng — không phải công cụ này.

Đầu ra Hex so với Base64?

Mã hóa cùng một byte khác nhau — khớp với định dạng của nhà cung cấp.

Đầu vào Unicode?

Đã băm UTF-8 byte — cùng một chuỗi mã hóa khác nhau sẽ cho ra hàm băm khác nhau.

Local?

Có — Web Thư viện tiền điện tử hoặc js trong trình duyệt.

HMAC?

HMAC cần khóa bí mật — khác với hàm băm đơn giản.