Hash Value
Giá trị có độ dài cố định được tạo từ dữ liệu có độ dài tùy ý bằng hàm băm. Dùng để xác minh toàn vẹn dữ liệu và phát hiện giả mạo.
Giá trị băm là đầu ra có độ dài cố định được tạo bằng cách áp dụng hàm băm cho dữ liệu đầu vào có độ dài tùy ý. Cùng một đầu vào luôn tạo ra cùng một giá trị băm, trong khi đảo ngược quá trình để khôi phục dữ liệu gốc là không khả thi về mặt tính toán. Tính chất một chiều này là đặc điểm xác định của hàm băm và tạo nền tảng cho các công nghệ bảo mật và xác minh dữ liệu.
Giá trị băm được áp dụng trong nhiều lĩnh vực. Đối với lưu trữ mật khẩu, lưu giá trị băm thay vì văn bản thuần giảm rủi ro lộ mật khẩu gốc ngay cả khi cơ sở dữ liệu bị xâm phạm. Trong thực tế, thêm salt (chuỗi ngẫu nhiên) trước khi băm là tiêu chuẩn, và các thuật toán chuyên dụng như bcrypt và Argon2 được khuyến nghị. Đối với xác minh toàn vẹn tệp, so sánh giá trị băm của tệp tải xuống với giá trị chính thức phát hiện giả mạo hoặc hỏng.
Trong công nghệ blockchain, giá trị băm đóng vai trò trung tâm. Mỗi khối chứa giá trị băm của khối trước, tạo thành cấu trúc chuỗi. Thay đổi dữ liệu quá khứ thay đổi tất cả giá trị băm tiếp theo, giúp phát hiện gian lận. Quản lý phiên bản Git cũng sử dụng giá trị băm SHA-1 để xác định commit và tệp.
Một quan niệm sai lầm phổ biến là "băm giống với mã hóa". Mã hóa là quá trình có thể đảo ngược sử dụng khóa để khôi phục dữ liệu gốc, trong khi băm là không thể đảo ngược. Một quan niệm sai lầm khác là giá trị băm giống nhau đảm bảo dữ liệu nguồn giống nhau. Hiện tượng các đầu vào khác nhau tạo ra cùng giá trị băm được gọi là va chạm, và khả năng chống va chạm là thước đo quan trọng để đánh giá bảo mật thuật toán băm.
Từ góc độ đếm ký tự, giá trị băm luôn được biểu diễn dưới dạng chuỗi thập lục phân có độ dài cố định. MD5 tạo ra 32 ký tự, SHA-256 tạo ra 64 ký tự, và độ dài đầu ra được xác định duy nhất bởi thuật toán. Dù đầu vào là một ký tự đơn hay tệp 1 GB, số ký tự đầu ra vẫn không đổi. Tính chất độ dài cố định này mang lại lợi thế thực tế trong thiết kế cột cơ sở dữ liệu và lập kế hoạch định dạng log, vì yêu cầu lưu trữ có thể được xác định trước.