Menu

Tạo hash

Tạo hash MD5, SHA-1, SHA-256, SHA-384 và SHA-512 ngay lập tức.

Tác giả Nethanel Bar, Co-founder & CEO

Cập nhật lần cuối

Sẵn sàng học code thật sự?

Coddy dạy bạn bằng cách viết code thật ngay trên trình duyệt: bài học tương tác, phản hồi tức thì và AI hỗ trợ khi bạn bị kẹt.

Công cụ tạo mã hash là gì?

Công cụ tạo mã hash tính ra một *hash* (mã băm): một dấu vân tay ngắn, có độ dài cố định của dữ liệu đầu vào. Dấu vân tay này thay đổi hoàn toàn chỉ với khác biệt một ký tự, nên hash được dùng để kiểm tra tính toàn vẹn của tệp, xem hai giá trị có bằng nhau không mà không cần so sánh toàn bộ, xây dựng hệ thống định địa chỉ theo nội dung (Git dùng SHA-1/SHA-256), và làm khối xây dựng bên trong các giao thức bảo mật lớn hơn.

Một hàm băm mật mã tốt có ba tính chất: *tất định* (cùng đầu vào → cùng hash), *một chiều* (không thể khôi phục đầu vào từ hash) và *kháng va chạm* (không thể tìm được hai đầu vào có cùng hash). Các thuật toán hiện đại như SHA-256 và SHA-512 đáp ứng cả ba; các thuật toán cũ như MD5 và SHA-1 đã *bị phá vỡ* và không nên dùng cho các phép so sánh nhạy cảm về bảo mật.

Băm *không phải* là mã hóa. Mã hóa có thể đảo ngược bằng khóa; băm được thiết kế để chỉ một chiều. Băm cũng *không phải* là cách lưu mật khẩu: mật khẩu cần một *hàm băm mật khẩu* như bcrypt, scrypt hay Argon2, vốn cố ý làm cho việc dò mật khẩu bằng vét cạn trở nên tốn kém.

Bạn sẽ học được gì khi tạo mã hash

  • Hàm băm ánh xạ mọi đầu vào, ngắn hay dài, thành một đầu ra có độ dài cố định (ví dụ SHA-256 luôn cho ra 256 bit = 64 ký tự hex).
  • Cùng đầu vào luôn cho cùng mã hash. Chỉ cần đổi một bit là ra mã hash hoàn toàn khác (*hiệu ứng tuyết lở*).
  • MD5 và SHA-1 không còn kháng va chạm: vẫn ổn cho checksum không liên quan bảo mật, nhưng không an toàn cho chữ ký số, chứng chỉ hay bất cứ thứ gì liên quan đến độ tin cậy.
  • Đừng lưu mật khẩu bằng SHA-256 thuần. Hãy dùng hàm băm mật khẩu (bcrypt, scrypt, Argon2) có salt và cố ý chạy chậm.

Cách tạo mã hash từng bước

  1. Dán đầu vào

    Dán văn bản bất kỳ: một chuỗi, một đoạn JSON, một license key. Mã hash cập nhật ngay khi bạn gõ.

  2. Chọn thuật toán

    Chọn MD5, SHA-1, SHA-256, SHA-384 hoặc SHA-512. SHA-256 là lựa chọn mặc định an toàn nhất cho checksum thông thường.

  3. Đọc đầu ra

    Mã hash được hiển thị dạng thập lục phân chữ thường. Bật chữ hoa hoặc sao chép giá trị vào clipboard.

  4. So sánh hai mã hash nếu cần

    Dán một mã hash đã biết (từ trang tải về, một Git commit, một tệp checksum) và công cụ sẽ cho bạn biết mã của bạn có khớp không.

Tra cứu nhanh thuật toán hash

Những thuật toán bạn sẽ gặp thường xuyên nhất, kèm kích thước đầu ra và mức độ bảo mật hiện tại. SHA-1 được đặc tả trong RFC 3174; họ SHA-2 nằm trong NIST FIPS 180-4.

Thuật toánKích thước đầu raTrạng thái / nơi bạn gặp
MD5128 bit / 32 ký tự hexĐã bị phá vỡ: chỉ dùng cho checksum không liên quan bảo mật
SHA-1160 bit / 40 ký tự hexĐã bị phá vỡ: chỉ còn trong lịch sử Git, hệ thống cũ
SHA-256256 bit / 64 ký tự hexTiêu chuẩn: TLS, Git hiện đại, blockchain
SHA-384384 bit / 96 ký tự hexDùng trong các bộ TLS ưu tiên họ SHA-2
SHA-512512 bit / 128 ký tự hexMạnh: đôi khi nhanh hơn SHA-256 trên phần cứng 64 bit
bcrypt / scrypt / Argon2thay đổiHàm băm *mật khẩu*: dùng những hàm này cho mật khẩu, không dùng SHA-x

Ví dụ hash để thử

Cùng thuật toán, đầu vào thay đổi rất nhỏ

Input A

hello world

SHA-256(A)

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Input B

Hello world

SHA-256(B)

4ae7c3b6ac0beff671efa8cf57386151c06e58ca53a78d83f36107316cec125f

Chỉ một chữ hoa đã làm mã hash thay đổi hoàn toàn. Đó là *hiệu ứng tuyết lở*, tính chất khiến hash hữu ích để phát hiện thay đổi.

Kiểm tra checksum của tệp tải về

Checksum được công bố
SHA256: 3a7bd3e2360a3d290dd0b1aef6a04e9b… ubuntu.iso
Quy trình

Tính SHA-256 của tệp bạn đã tải về; so sánh với giá trị của bên phát hành. Khớp nghĩa là tệp không bị hỏng khi truyền tải hay bị can thiệp.

Các bản tải về ảnh hệ điều hành, môi trường chạy ngôn ngữ lập trình và bản phát hành có chữ ký thường công bố SHA-256 bên cạnh tệp. Luôn kiểm tra trước khi cài đặt.

MD5 để loại trùng lặp không liên quan bảo mật

Input

user@example.com

MD5

b58996c504c5638798eb6b511e6f49af

Gravatar dùng MD5(email) làm khóa avatar. MD5 ổn cho việc đó, vì đây là định danh không bí mật, nhưng đừng bao giờ dùng nó ở nơi va chạm hay tấn công tiền ảnh có ý nghĩa.

Lỗi thường gặp khi băm

  • Lưu mật khẩu người dùng bằng SHA-256 thuần. Hãy dùng hàm băm mật khẩu (bcrypt, scrypt, Argon2) với salt riêng cho từng người dùng và hệ số chi phí có chủ đích.
  • Tin vào MD5 hay SHA-1 cho các phép so sánh nhạy cảm về bảo mật vào năm 2026. Cả hai đều đã bị phá vỡ: va chạm hoàn toàn có thể tính được trong thực tế.
  • So sánh một mã hash hex bằng == sau khi đã chỉnh sửa một trong hai chuỗi. Hãy cắt khoảng trắng và chuẩn hóa chữ hoa chữ thường trước khi so sánh.
  • Quên rằng cùng đầu vào *luôn* cho cùng mã hash, vốn chính là mục đích của nó. Đừng "băm hai lần" với hy vọng tăng tính ngẫu nhiên; bạn chỉ nhận được một mã hash thứ hai cũng tất định.
  • Dùng hash ở nơi bạn thực sự cần mã hóa. Hash là một chiều và không thể đảo ngược.

Câu hỏi thường gặp về công cụ tạo mã hash

Hàm băm (hash) là gì?

Hàm băm nhận đầu vào có độ dài bất kỳ và tạo ra một đầu ra có độ dài cố định gọi là hash. Cùng đầu vào luôn cho cùng mã hash; chỉ một thay đổi rất nhỏ ở đầu vào cũng tạo ra mã hash hoàn toàn khác.

MD5 có còn an toàn để dùng không?

MD5 đã bị phá vỡ cho mục đích mật mã: va chạm trong thực tế rất dễ tính ra. Nó vẫn chấp nhận được cho checksum không liên quan bảo mật (loại trùng lặp tệp, khóa cache, Gravatar) nhưng không bao giờ được dùng cho chữ ký số, chứng chỉ hay lưu mật khẩu.

SHA-256 và SHA-512 khác nhau thế nào?

Cả hai đều thuộc họ SHA-2. SHA-256 cho đầu ra 256 bit; SHA-512 cho đầu ra 512 bit. SHA-512 thực ra có thể nhanh hơn trên phần cứng 64 bit. SHA-256 là lựa chọn mặc định phổ biến hơn trong các giao thức hiện nay.

Làm sao để băm mật khẩu?

Đừng dùng trực tiếp SHA-256. Hãy dùng hàm băm mật khẩu được thiết kế cho việc này (bcrypt, scrypt hoặc Argon2) với salt riêng cho từng người dùng và hệ số chi phí điều chỉnh được. Chúng cố ý chạy chậm để các cuộc tấn công vét cạn trở nên tốn kém.

Có thể đảo ngược mã hash không?

Không, hàm băm được thiết kế để chỉ một chiều. Cách duy nhất để tìm lại dữ liệu gốc là đoán đầu vào rồi kiểm tra mã hash của chúng có khớp không. Đó là lý do salt và băm chậm quan trọng với mật khẩu.

Các mã hash này có được tạo ngay trên máy không?
Có. Công cụ tạo mã hash của Coddy dùng Web Crypto API trong trình duyệt của bạn. Đầu vào của bạn không bao giờ rời khỏi máy.

Tìm hiểu thêm

Công cụ lập trình khác

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu