phải|Một hàm băm tiêu biểu đang hoạt động
Hàm băm (tiếng Anh: hash function) là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu (có thể là một chuỗi ký tự, một đối tượng trong lập trình hướng đối tượng, v.v...). Giá trị băm đóng vai gần như một khóa để phân biệt các khối dữ liệu, tuy nhiên, người ta chấp nhận hiện tượng trùng khóa hay còn gọi là đụng độ và cố gắng cải thiện giải thuật để giảm thiểu sự đụng độ đó. Hàm băm thường được dùng trong bảng băm nhằm giảm chi phí tính toán khi tìm một khối dữ liệu trong một tập hợp (nhờ việc so sánh các giá trị băm nhanh hơn việc so sánh những khối dữ liệu có kích thước lớn).
Vì tính thông dụng của bảng băm, ngày nay, đa số ngôn ngữ lập trình đều cung cấp thư viện ứng dụng bảng băm, thường gọi là thư viện collection trong đó có các vấn đề như: tập hợp (collection), danh sách (list), bảng(table), ánh xạ (mapping), từ điển (dictionary). Thông thường, các lập trình viên chỉ cần viết hàm băm cho các đối tượng nhằm tích hợp với thư viện bảng băm đã được xây dựng sẵn.
Một hàm băm tốt phải thỏa mãn các điều kiện sau:
- Tính toán nhanh.
- Các khoá được phân bố đều trong bảng.
- Ít xảy ra đụng độ.
- Xử lý được các loại khóa có kiểu dữ liệu khác nhau.
Ứng dụng
Các hàm băm được ứng dụng trong nhiều lĩnh vực, chúng thường được thiết kế phù hợp với từng ứng dụng. Ví dụ, các hàm băm mật mã học giả thiết sự tồn tại của một đối phương - người có thể cố tình tìm các dữ liệu vào với cùng một giá trị băm. Một hàm băm tốt là một phép biến đổi "một chiều", nghĩa là không có một phương pháp thực tiễn để tính toán được dữ liệu vào nào đó tương ứng với giá trị băm mong muốn, khi đó việc giả mạo sẽ rất khó khăn. Một hàm một chiều mật mã học điển hình không có tính chất hàm đơn ánh và tạo nên một hàm băm hiệu quả; một hàm trapdoor mật mã học điển hình là hàm đơn ánh và tạo nên một hàm ngẫu nhiên hiệu quả.
Bảng băm, một ứng dụng quan trọng của các hàm băm, cho phép tra cứu nhanh một bản ghi dữ liệu nếu cho trước khóa của bản ghi đó (Lưu ý: các khóa này thường không bí mật như trong mật mã học, nhưng cả hai đều được dùng để "mở khóa" hoặc để truy nhập thông tin.) Ví dụ, các khóa trong một từ điển điện tử Anh-Anh có thể là các từ tiếng Anh, các bản ghi tương ứng với chúng chứa các định nghĩa. Trong trường hợp này, hàm băm phải ánh xạ các xâu chữ cái tới các chỉ mục của mảng nội bộ của bảng băm.
Các hàm băm dành cho việc phát hiện và sửa lỗi tập trung phân biệt các trường hợp mà dữ liệu đã bị làm nhiễu bởi các quá trình ngẫu nhiên. Khi các hàm băm được dùng cho các giá trị tổng kiểm, giá trị băm tương đối nhỏ có thể được dùng để kiểm chứng rằng một file dữ liệu có kích thước tùy ý chưa bị sửa đổi. Hàm băm được dùng để phát hiện lỗi truyền dữ liệu. Tại nơi gửi, hàm băm được tính cho dữ liệu được gửi, giá trị băm này được gửi cùng dữ liệu. Tại đầu nhận, hàm băm lại được tính lần nữa, nếu các giá trị băm không trùng nhau thì lỗi đã xảy ra ở đâu đó trong quá trình truyền. Việc này được gọi là kiểm tra dư (redundancy check).
Các hàm băm còn được ứng dụng trong việc nhận dạng âm thanh, chẳng hạn như xác định xem một file MP3 có khớp với một file trong danh sách một loại các file khác hay không.
Thuật toán tìm kiếm xâu Rabin-Karp là một thuật toán tìm kiếm xâu ký tự tương đối nhanh, với thời gian chạy trung bình O(n). Thuật toán này dựa trên việc sử dụng băm để so sánh xâu.
Lịch sử
Từ "băm" cho ta liên tưởng đến nghĩa thường dùng của nó (băm nhỏ ra rồi làm xáo trộn), cho ta hiểu được phần nào đó việc hàm băm xáo trộn dữ liệu đầu vào để tạo ra giá trị băm. Trong nghiên cứu của mình về nguồn gốc chính xác của thuật ngữ này, Donald Knuth ghi nhận rằng, mặc dù Hans Peter Luhn của IBM có vẻ là người đầu tiên sử dụng khái niệm về hàm băm trong một bản ghi nhớ nội bộ vào tháng 1 năm 1953, bản thân thuật ngữ này lại không xuất hiện trong các tài liệu được xuất bản cho đến tận cuối những năm 1960. Thuật ngữ xuất hiện trong cuốn sách Digital Computer System Principles của Herbert Hellerman, dù cho khi đó nó đã là một thuật ngữ chuyên ngành (jargon) được sử dụng rộng rãi."
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong ngành mật mã học, một **Hàm băm mật mã học** (tiếng Anh: _Cryptographic hash function_) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng
**Hàm băm ổn định** (tiếng Anh: _consistent hash function_) là hàm băm mà việc thêm hoặc bớt một khối dữ liệu (_slot_) không làm thay đổi đáng kể ánh xạ từ khóa tới các khối
phải|Một hàm băm tiêu biểu đang hoạt động **Hàm băm** (tiếng Anh: _hash function_) là giải thuật nhằm sinh ra các **giá trị băm** tương ứng với mỗi **khối dữ liệu** (có thể là một
Các bảng băm phân tán **Bảng băm phân tán** (tiếng Anh: _distributed hash table_, viết tắt **DHT**) là một lớp các hệ thống phân tán không tập trung, cung cấp một dịch vụ tra cứu
nhỏ|315x315px|Một danh bạ điện thoại nhỏ được xem như một bảng băm. Trong khoa học máy tính, **bảng băm** là một cấu trúc dữ liệu sử dụng hàm băm để ánh xạ từ giá trị
Trong mật mã học, **MD5** (viết tắt của tiếng Anh **Message-Digest algorithm 5**, Thuật toán Tiêu hóa-tin nhắn 5) là một hàm băm mật mã học được sử dụng phổ biến với giá trị băm
**Sứt môi**, **hở hàm ếch** và **chẻ vòm hầu** là các dạng bất thường bẩm sinh ở môi và miệng thấy khá nhiều trong các sắc dân Á châu. Hình:Cleft lip left right front.png|Sứt
**Trần Hàm** (chữ Hán: 陈咸, ? – ?), tên tự là **Phùng Nho**, người huyện Thiệp , quan viên nhà Nam Tống trong lịch sử Trung Quốc. Ông có công ổn định tình hình tài
Cửa hầm Hải Vân 1 phía Bắc Bên trong hầm **Hầm đường bộ Hải Vân** là hầm đường bộ trên Quốc lộ 1 ở ranh giới thành phố Huế và thành phố Đà Nẵng. Hầm
Trong mật mã học, **SHA-1** (**Secure Hash Algorithm 1**) là hàm băm mật mã lấy đầu vào và tạo ra giá trị băm 160 bit (20 byte) được gọi là thông báo đã tiêu hóa
**Cuộc vây hãm Genoa** (6 tháng 4 - 4 tháng 6 năm 1800) là một trận bao vây trong cuộc chiến tranh giữa Pháp với các quốc gia trong Liên minh thứ hai. Trong trận
**Bệnh viện Răng Hàm Mặt Trung ương Thành phố Hồ Chí Minh** được thành lập trên cơ sở _Viện Răng Hàm Mặt Việt Nam_ mà tiền thân của là Khoa Răng Hàm Mặt với 2
Những fan hâm mộ của ca sĩ [[Michael Jackson]] Người hâm mộ tại một buổi độc tấu ở [[Buenos Aires, Argentina]] **Người hâm mộ** hay **người ái mộ** hay còn gọi với cái tên ngắn
Mô tả sản phẩm Muối Tắm Bé Sinh Dược độc mộc hết RÔM SẨY, CỨT TRÂU, HĂM DA, MỒ HÔI TRỘM 400gSản phẩm này là tài sản cá nhân được bán bởi Nhà Bán Hàng
Mô tả sản phẩm Muối Tắm Bé Sinh Dược độc mộc hết RÔM SẨY, CỨT TRÂU, HĂM DA, MỒ HÔI TRỘM 400gSản phẩm này là tài sản cá nhân được bán bởi Nhà Bán Hàng
nhỏ|Kìm bấm chết **Kìm bấm chết** là loại kìm có thể được khoá vào vị trí bằng cách sử dụng khoá lẫy. ## Lịch sử nhỏ|Kìm bấm chết hiện đại có thêm một đòn bẩy
**Thiếu răng bẩm sinh** ở người là một bệnh di truyền hiếm gặp, đặc trưng bởi thiếu một số răng hoặc toàn bộ các răng từ khi sinh ra. Trong thuật ngữ chuyên ngành nước
**Bộ lọc Bloom**, phát minh bởi Burton Howard Bloom năm 1970, là một cấu trúc dữ liệu xác suất để kiểm tra xem một phần tử có nằm trong một tập hợp hay không. Có
Bột than hoạt tính trắng răng My Smile 70gr bột đánh răng làm trắng răng từ than hoạt tínhBột than hoạt tính trắng răng My Smile 70gr bột trắng răng từ than hoạt tính với
**Trận Đồi Thịt Băm** hay **trận A Bia** là tên gọi của trận chiến giữa Quân đội Nhân dân Việt Nam, Quân Giải phóng miền Nam Việt Nam với Quân đội Mỹ từ ngày 10
Viên sủi làm sạch răng giả Efferdent Anti-Bacterial Denture CleanserHộp :126 viên- Loại bỏ các vết bẩn cứng đầu ở những nơi khó tiếp cận với tác dụng oxi mạnh mẽ- Giảm tích tụ mảng
CHỈ NHA KHOA ORALTANA – DENTAL FLOSSCHỈ NHA KHOA ORALTANA – HƯƠNG BẠC HÀChỉ nha khoa Oraltana là người bạn "song hành" cùng những chiếc bàn chải đánh răng chuyên dụng để chăm sóc sức
Kem đánh răng chống mảng bám AP- 24 Whitening Fluoride ToothpasteNhiều gia đình lo lắng không biết nên chọn cho mình sản phẩm kem đáng răng nào phù hợp cho cả gia đình và không
Nước súc miệng Nhật Bản Propolinse giúptăng cường vệ sinh răng miệng, có tác dụng loại bỏ bớt vi khuẩn trong miệng, giảm mảng bám răng và giúp hơi thở thơm tho.Nhật Bản nổi tiếng
MÔ TẢ SẢN PHẨMCông dụng sản phâm:– Nụ cười rạng rỡ, tự tin cùng với hàm răng trắng sáng sẽ là thế mạnh giúp bạn tạo ấn tượng với đối phương.– Tuy nhiên, thức ăn
Nước súc miệng Nhật Bản Propolinse giúptăng cường vệ sinh răng miệng, có tác dụng loại bỏ bớt vi khuẩn trong miệng, giảm mảng bám răng và giúp hơi thở thơm tho.Nhật Bản nổi tiếng
Bạn có hàm răng bị ố vàng hay hơi thở có mùi. Để khắc phục vấn đề này, ngoài việc đánh răng 2 lần trong ngày thì bạn nên sử dụng thêm nước súc miệng
COMBO 5 TUÝP KEM ĐÁNH RĂNG TOOTHPASTECÓ PHẢI BẠN ĐANG LO LẮNG HƠI THỞ CÓ MÙI CỦA MÌNH? (làm thế nào để giải quyết nỗi lo trên?) Cái răng cái tóc là góc con người*
Bút Trắng Răng Dazzling White - Đánh bay mảng bám trên bề mặt răngBút trắng răng Dazzling White được nhiều người sử dụng để chăm sóc răng hiệu quảBút trắng răng Dazzling White sẽ giúp
Bút làm trắng răng Dazzling White của Mỹ là một trong những cách giúp bạn có được một hàm răng trắng, khỏe. Bút dazzling white được thiết kế giống như một cây bút rất dễ
BútTrắng Răng Dazzling White - Đánh bay mảng bám trên bề mặt răngBút trắng răng Dazzling White được nhiều người sử dụng để chăm sóc răng hiệu quảBút trắng răng Dazzling White sẽ giúp bạn
Kem đánh răng White And White là một sản phẩm dành cho nướu nhạy cảm, có tác dụng làm sạch răng, phòng ngừa sâu răng, giảm viêm nướu, giảm sự hình thành vôi răng, giữ
COMBO 5 TUÝP KEM ĐÁNH RĂNG TOOTHPASTECÓ PHẢI BẠN ĐANG LO LẮNG HƠI THỞ CÓ MÙI CỦA MÌNH? (làm thế nào để giải quyết nỗi lo trên?) Cái răng cái tóc là góc con người*
Xe tròn tập đi có đồ chơi và nhạc cho bé MASTELA W2002 bánh xe cao su hãm đà theo tiêu chuẩn công nghệ JIS Nhật Bản hãm di chuyển theo quán tính siêu nhẹ
✔ Xe tròn tập đi có đồ chơi và nhạc cho bé MASTELA W2002 bánh xe cao su hãm đà theo tiêu chuẩn công nghệ JIS Nhật Bản hãm di chuyển theo quán tính siêu
Xe tròn tập đi có đồ chơi và nhạc cho bé MASTELA W2002 bánh xe cao su hãm đà theo tiêu chuẩn công nghệ JIS Nhật Bản hãm di chuyển theo quán tính siêu nhẹ
Máy lấy cao răng mini cầm tay sạc pin công nghệ Nhật Bản 3 chế độ rung loại sạch mảng bám, cao răng, vết ố cứng đầu, máy lấy cao răng tại nhà, dụng cụ
MÁY HÂM SỮA HAI BÌNH CỔ RỘNG DOU 1 FATZ BABY FB3012SL Hâm sữa như thế nào để đảm bảo chất dinh dưỡng và các kháng thể không bị mất đi? Đây là băn khoăn
MÁY HÂM SỮA TIỆT TRÙNG ĐIỆN TỬ DUO 3 PLUS + FATZBABY FB3094TK Các mẹ bỉm sữa không bao giờ ngớt ca ngợi chiếc máy DUO3 của FATZBABY bởi thiết kế gọn gàng trang nhã
THÔNG TIN SẢN PHẨM Máy hâm sữa và thức ăn Chicco 7390 là thế hệ máy hâm sữa thông minh với màn hình led và chức năng hẹn giờ tiện dụng giúp mẹ chủ động
Một trong những trợ thủ đắc lực trong quá trình nuôi con bằng sữa mẹ là máy hâm sữa. Mono 7 có gì đặc biệt ??? Đó là đế đun có lớp bả vệ chống
MÁY HÂM SỮA & TIỆT TRÙNG- MONO 6 - FATZBABY FB3001TN Hâm sữa 1 bình là một trong những sản phẩm được các bà mẹ bỉm sữa lựa chọn nhiều nhất khi chăm con. Vậy
Máng chỉnh nha trong suốt, hàm duy trì, hàm giả được tạo ra với chi phí khá cao và thời gian sử dụng lâu dài. Bạn nên giữ gìn cẩn thận các khi cụ này
Kem Đánh Răng Meichi Push Cho Hàm Răng Trắng Sáng (Hàn Quốc) Fullsize 300ml, to vật vã, xài mấy tháng mới hết.Mới 100%, date 04/22, tem phụ đầy đủ (ko phải hàng xách tay trôi
Viên sủi ngâm răng hàm giả Efferdent cho người sử dụng hàm giả, đệm hàm giả tháo lắp.Xuất xứ: MỹĐặc điểm: Giết chết 99.9% vi khuẩn gây mùi cho hàm giả. Làm giảm sự tích
THÔNG SỐ KỸ THUẬT Tên sản phẩm : Bộ Đế Ly giữ nhiệt 55°C 80₫ bao gồm 1 cốc và đế hâm nóng Màu sắc : Xanh và vàng Công suất : 16W Nguồn điện
Trong giai đoạn tập đi, bé rất cần một trợ thủ đắc lực là chiếc xe tập đi để có thể biết đi nhanh hơn và vững chắc hơn. Nếu bố mẹ đang tìm người
Trong giai đoạn tập đi, bé rất cần một trợ thủ đắc lực là chiếc xe tập đi để có thể biết đi nhanh hơn và vững chắc hơn. Nếu bố mẹ đang tìm người
Trong giai đoạn tập đi, bé rất cần một trợ thủ đắc lực là chiếc xe tập đi để có thể biết đi nhanh hơn và vững chắc hơn. Nếu bố mẹ đang tìm người
Trong giai đoạn tập đi, bé rất cần một trợ thủ đắc lực là chiếc xe tập đi để có thể biết đi nhanh hơn và vững chắc hơn. Nếu bố mẹ đang tìm người