Hash là gì?
Hàm hash nhận đầu vào có kích thước bất kỳ và tạo ra chuỗi ký tự có độ dài cố định gọi là digest. Cùng một đầu vào luôn cho ra cùng kết quả, nhưng chỉ một thay đổi nhỏ cũng khiến hash hoàn toàn khác. Hàm hash là một chiều — bạn không thể đảo ngược hash để khôi phục dữ liệu gốc.
MD5
MD5 tạo digest 128-bit (32 ký tự hex). Trước đây được dùng rộng rãi cho checksum và kiểm tra tính toàn vẹn dữ liệu. Tuy nhiên, MD5 bị coi là không an toàn về mặt mật mã do lỗ hổng va chạm đã biết. Chỉ nên dùng cho mục đích phi bảo mật như loại bỏ trùng lặp tệp.
SHA-1
SHA-1 tạo digest 160-bit (40 ký tự hex). Từng là tiêu chuẩn cho chữ ký số và chứng chỉ, nhưng đã bị ngưng dùng cho mục đích bảo mật kể từ khi các cuộc tấn công va chạm thực tế được chứng minh năm 2017.
SHA-256
SHA-256 thuộc họ SHA-2 và tạo digest 256-bit (64 ký tự hex). Được sử dụng rộng rãi trong blockchain, chứng chỉ TLS/SSL và xác minh tính toàn vẹn dữ liệu. Hiện được coi là an toàn cho mọi mục đích.
SHA-384
SHA-384 là phiên bản rút gọn của SHA-512, tạo digest 384-bit (96 ký tự hex). Cung cấp biên độ bảo mật cao hơn SHA-256 và thường được dùng trong các ứng dụng chính phủ và doanh nghiệp.
SHA-512
SHA-512 tạo digest 512-bit (128 ký tự hex). Cung cấp biên độ bảo mật cao nhất trong họ SHA-2 và hoạt động tốt trên hệ thống 64-bit. Lý tưởng cho các ứng dụng yêu cầu khả năng chống va chạm tối đa.
Các trường hợp sử dụng phổ biến
Hàm hash thiết yếu cho việc xác minh tính toàn vẹn tệp (so sánh checksum), lưu trữ mật khẩu (lưu hash thay vì văn bản gốc), chữ ký số, bằng chứng công việc blockchain, loại bỏ trùng lặp dữ liệu và hệ thống lưu trữ theo nội dung.