Tạo Hash
Tạo hash MD5, SHA-1, SHA-256, SHA-512
Đã xảy ra lỗi.
Hàm băm là gì?
Hàm băm chuyển đổi dữ liệu có độ dài bất kỳ thành chuỗi độ dài cố định (digest) theo chiều một chiều. MD5(128-bit), SHA-1(160-bit), SHA-256(256-bit), SHA-512(512-bit) là các thuật toán phổ biến. Cùng một đầu vào luôn cho cùng một đầu ra, nhưng không thể tính ngược từ đầu ra để lấy đầu vào.
Tại sao MD5 và SHA-1 bị coi là "bị phá vỡ"?
MD5 và SHA-1 đã được chứng minh có lỗ hổng tấn công va chạm (collision attack — hai đầu vào khác nhau tạo cùng một hash), không còn được khuyến nghị cho bảo mật. SHA-256 và SHA-512 vẫn an toàn. Tuy nhiên, băm mật khẩu nên dùng bcrypt hay Argon2 vì chúng được thiết kế có chủ đích để chạy chậm.
Xác minh tính toàn vẹn tệp
Sau khi tải xuống, so sánh SHA-256 checksum với giá trị chính thức để xác minh tệp chưa bị giả mạo. Phương pháp này phổ biến với ISO Linux và trình cài đặt phần mềm. "Hiệu ứng tuyết lở" (avalanche effect) có nghĩa là chỉ 1 bit thay đổi cũng tạo ra hash hoàn toàn khác.
Tại sao không dùng SHA-256 lưu mật khẩu
SHA-256 quá nhanh — đó là vấn đề. GPU hiện đại có thể tính hàng tỷ hash SHA-256 mỗi giây, khiến tấn công brute-force dễ dàng. bcrypt và Argon2 được thiết kế có chủ đích để chậm và tốn bộ nhớ, đồng thời kết hợp salt khiến cùng mật khẩu tạo ra hash khác nhau.
Blockchain và hàm băm
Proof-of-Work của Bitcoin yêu cầu thợ đào tìm nonce sao cho SHA-256 kép bắt đầu bằng số lượng zero nhất định. Mỗi block chứa hash của block trước, tạo thành chuỗi. Sửa đổi bất kỳ giao dịch lịch sử nào sẽ thay đổi hash của tất cả block tiếp theo, bất kỳ node nào cũng phát hiện được ngay.