How Hashing Works Internally

Quick Reference: Consistent Hashing | Load Balancing


Quick Reference

Hash FunctionCollision HandlingTime ComplexityUse Case
MD5ChainingO(1) avgChecksums (deprecated)
SHA-256N/A (cryptographic)O(1)Security
MurmurHashChainingO(1) avgGeneral purpose
CRC32ChainingO(1) avgFast checksums

Clear Definition

Hashing maps data of arbitrary size to fixed-size values. Hash functions should be fast, deterministic, and distribute values uniformly to minimize collisions.

šŸ’” Key Insight: Good hash functions have uniform distribution and handle collisions efficiently (chaining or open addressing).


Core Concepts

Hash Functions

  • Deterministic: Same input → same output
  • Uniform Distribution: Even spread of hash values
  • Fast Computation: O(1) average time
  • Collision Resistance: Minimize collisions

Collision Handling

Chaining: Linked list at each bucket
Open Addressing: Probe for next available slot
Cuckoo Hashing: Multiple hash functions


Best Practices

  1. Choose Right Function: Cryptographic vs non-cryptographic
  2. Handle Collisions: Use chaining or open addressing
  3. Monitor Distribution: Check for clustering

Quick Reference Summary

Hashing: Map data to fixed-size values for fast lookups.

Collision Handling: Chaining (linked lists) or open addressing (probing).

Performance: O(1) average, O(n) worst case with collisions.


Previous Topic: Consistent Hashing ←

Next Topic: Proxy & Reverse Proxy →

Back to: Step 6 Overview | Main Index