Một hàm băm là hàm bất kỳ mà có thể được sử dụng để ánh xạ dữ liệu có kích thước tùy ý để dữ liệu có kích thước cố định. Các giá trị được trả về bởi một hàm băm được gọi là giá trị băm, mã băm, tiền băm, hoặc chỉ đơn giản là băm. Một sử dụng là một cấu trúc dữ liệu gọi là một bảng băm, được sử dụng rộng rãi trong các phần mềm máy tính để tra cứu dữ liệu nhanh chóng. Hàm băm tăng tốc hoặc bảng tra cứu cơ sở dữ liệu bằng cách phát hiện các bản ghi trùng lặp trong một tập tin lớn. Một ví dụ là việc tìm kiếm những đoạn tương tự như trong các trình tự DNA. Họ cũng rất hữu ích trong mật mã. Một hàm băm mật mã cho phép một để dễ dàng xác nhận rằng một số dữ liệu đầu vào bản đồ đến một giá trị hash được đưa ra, nhưng nếu dữ liệu đầu vào là không rõ, nó là cố ý khó để tái tạo lại nó (hoặc lựa chọn thay thế tương đương) bằng cách biết các giá trị hash được lưu trữ. Điều này được sử dụng để đảm bảo tính toàn vẹn của dữ liệu truyền đi, và là các khối xây dựng cho HMACs, trong đó cung cấp xác thực thông điệp. Chức năng Hash có liên quan đến (và thường bị nhầm lẫn với) tổng kiểm tra, chữ số kiểm tra, dấu vân tay, chức năng ngẫu nhiên, mã sửa lỗi, và mật mã. Mặc dù các khái niệm này chồng lên nhau đến mức độ nào, mỗi người đều có mục đích sử dụng và yêu cầu riêng của mình và được thiết kế và tối ưu hóa khác nhau. Các cơ sở dữ liệu Hash Keeper duy trì bởi các quốc gia Trung tâm Tình báo Mỹ thuốc, ví dụ, được khéo léo hơn được mô tả như là một danh mục các dấu vân tay tập tin hơn các giá trị băm.
đang được dịch, vui lòng đợi..
