Tạo hash
Tạo hash MD5, SHA-1, SHA-256 và SHA-512.
Hash là gì và hoạt động thế nào?
Hàm hash là thuật toán toán học chuyển đổi bất kỳ dữ liệu đầu vào nào thành chuỗi có độ dài cố định, gọi là "digest" hay "dấu vân tay số". Khác với mã hóa, hashing là quá trình một chiều: không có cách thực tế để đảo ngược hash lấy dữ liệu gốc. Đặc tính này lý tưởng cho xác minh tính toàn vẹn tệp, lưu trữ mật khẩu an toàn, chữ ký số và công nghệ blockchain.
Mỗi thuật toán có đặc điểm khác nhau: MD5 (128 bit) nhanh nhưng không an toàn cho mật mã; SHA-1 (160 bit) cũng đã bị phá; SHA-256 (256 bit) là tiêu chuẩn hiện tại dùng trong Bitcoin và chứng chỉ SSL; và SHA-512 (512 bit) bảo mật cao nhất. Để lưu mật khẩu, nên dùng thuật toán chuyên biệt như bcrypt, scrypt hoặc Argon2, thêm "salt" ngẫu nhiên và cố tình chậm để khó tấn công brute force.
Câu hỏi thường gặp
Hash và mã hóa có giống nhau không?
Không. Mã hóa là quá trình hai chiều (có thể giải mã với khóa đúng), trong khi hashing là một chiều (không thể đảo ngược). Mã hóa bảo vệ dữ liệu cần được đọc sau; hashing xác minh tính toàn vẹn mà không tiết lộ dữ liệu gốc.
Có thể đảo ngược hash không?
Không thể trực tiếp. Tuy nhiên, có các cuộc tấn công như rainbow table hoặc brute force cố gắng tìm văn bản gốc bằng cách thử hàng triệu tổ hợp. Vì vậy, rất quan trọng phải dùng thuật toán mạnh (SHA-256 trở lên) và với mật khẩu, thêm salt duy nhất.
Nên dùng thuật toán hash nào?
Để xác minh tính toàn vẹn tệp, SHA-256 là tiêu chuẩn khuyến nghị. Để lưu trữ mật khẩu, dùng bcrypt hoặc Argon2 thay vì SHA. MD5 và SHA-1 chỉ nên dùng cho kiểm tra không quan trọng (như checksum tải xuống) khi bảo mật không phải ưu tiên.
Muốn tìm hiểu thêm? Đọc hướng dẫn đầy đủ →