Hash function
A hash function deterministically maps input data to a value in a bounded output range, commonly for indexing, lookup, comparison, or integrity checking.
Real-World Cryptography
A hash function maps input data to a fixed-size output and may provide cryptographic properties such as one-wayness and collision resistance.
- How it is used
- Uses fixed-size digests to check integrity, support authenticity, and build cryptographic protocols.
- How deep it goes
- Explains the mapping, three security properties, limitations, applications, algorithm choices, and serialization hazards without implementation-level internals.
- Examples
- Demonstrates file checks, OpenSSL commands, BitTorrent chunks, Tor addresses, commitments, and tampered cryptocurrency transactions.
- What you can do after
- Apply hashing via OpenSSL, compare trusted digests, distinguish cryptographic hashes from checksums, and avoid predictable or ambiguous inputs.
Hacking Cryptography
A function that maps input data to a fixed-size digest, typically designed so that recovering or finding inputs with specified relationships is computationally infeasible.
- How it is used
- Supports password comparison, file-integrity checking, and fixed-size data fingerprints.
- How deep it goes
- Defines resistance properties and constructions, then traces rainbow-table and length-extension failure modes.
- Examples
- Uses password login, DVD checksums, colliding PDFs, rainbow tables, and forged bank API requests.
- What you can do after
- Evaluate/understand where hashes provide comparison or integrity and where password protection or authentication needs stronger constructions.
Grokking Algorithms, Second Edition
A hash function is a deterministic function that maps a key to a value used to determine its storage location in a hash table.
- How it is used
- Turns keys into array locations so a hash table can retrieve stored values without searching through the array.
- How deep it goes
- Works through consistent indexing and collisions with linked-list handling, but stops short of implementing a hash function.
- Examples
- Uses produce-price lookups and exercises comparing how candidate functions distribute phonebook names, battery sizes, and book titles.
- What you can do after
- Evaluate/understand it by checking consistency and distribution and relating collisions to hash-table lookup performance.
Read how Grokking Algorithms, Second Edition explains hash function →
Grokking Data Structures
A hash function is a function that maps input data to a bounded hash value used to compute or organize lookup keys.
- How it is used
- Maps keys to valid array indexes so a hash table can use less space than a direct-access table.
- How deep it goes
- Defines valid outputs and distribution goals, then works through the multiplication method and its use in a chaining implementation.
- Examples
- Uses a baseball-card collection and Python code that extracts object keys and computes bucket indexes.
- What you can do after
- Build it from scratch: compute a bucket index and use it in a hash table with chaining.
Spring Security in Action, Second Edition
A hashing algorithm deterministically transforms input data into an output from which the original input is intended to be impractical to recover.
- How it is used
- Applies hashing to stored data, particularly passwords, within explicitly configured Spring Security authentication and data-protection components.
- How deep it goes
- Explains the security role and configuration boundary but stops short of comparing individual hashing algorithms or implementation internals.
- Examples
- Uses password handling and protected data storage as the principal application examples.
- What you can do after
- Apply it via Spring Security's PasswordEncoder and configure hashing where the application stores protected data.
Read how Spring Security in Action, Second Edition explains hash function →
Troubleshooting Java, Second Edition
Hashing is the transformation of data into a fixed-size digest that can be compared to detect content differences without transmitting the original data.
- How it is used
- Compares large datasets efficiently during reconciliation and data-integrity checks.
- How deep it goes
- Explains digests, batch and hierarchical comparison, stateless reconciliation, and collision risk, then defers exact mismatch analysis.
- Examples
- Uses SHA-256, daily invoice entries, partitions, batches, replicas, caches, and integration points.
- What you can do after
- Diagnose mismatches efficiently and decide when to perform deeper record-level comparisons.
Read how Troubleshooting Java, Second Edition explains hash function →
Grokking Relational Database Design
A hash function is a function that maps variable-length input data to a fixed-length output value.
- How it is used
- Protects stored passwords by replacing reusable plain text with one-way hash values.
- How deep it goes
- Defines hashing, explains salts and attack methods, and demonstrates storage and login verification.
- Examples
- Uses bcrypt output, Base64 encoding, CHAR(60), and a password comparison during login.
- What you can do after
- Apply bcrypt password hashing, size the database column, and verify login credentials by comparing hashes.
Read how Grokking Relational Database Design explains hash function →
The Joy of JavaScript
The process of computing a fixed-size digest or hash value from input data using a hash function.
- How it is used
- Uses hashing for transaction identifiers, lookup, integrity checks, and cryptographic links between blockchain blocks.
- How deep it goes
- Explains input assembly, character-based computation, collisions, functional decomposition, purity, and replacement with a more secure algorithm.
- Examples
- Demonstrates transaction objects, a money transaction, chained blockchain blocks, and JavaScript calculateHash implementations.
- What you can do after
- Builds a basic JavaScript hash method, refactors it into composable functions, and swaps in a more secure Node.js crypto algorithm.
First-Party Data Activation
The transformation of input data into a fixed-length value designed for integrity checking, lookup, or comparison without retaining the original representation.
- How it is used
- Enables matching of customer identifiers across partner datasets in a data clean room without exposing raw identifiers during matching.
- How deep it goes
- Defines the transformation and traces a high-level matching workflow, stopping short of hash-algorithm internals.
- Examples
- Uses hashed email addresses and loyalty IDs, plus Google Ads Data Hub’s partner-side and platform-side SHA-256 options.
- What you can do after
- Evaluate/understand it as a matching safeguard while assessing platform trust and controls before sharing customer data.
Read how First-Party Data Activation explains hash function →
Effective Data Analysis
A hash algorithm is a computational procedure that deterministically maps data to a fixed-size hash code.
- How it is used
- Uses deterministic codes to join records while keeping sensitive identifiers out of analytical tables.
- How deep it goes
- Explains deterministic behavior, fixed-size output, practical hashing, and security caveats without detailing algorithm internals.
- Examples
- Demonstrates SHA-256 email hashing in pandas and compares anonymized and pseudonymized records across domains.
- What you can do after
- Apply it via Python hashlib and pandas to create pseudonymous identifiers and separate original values from analysis tables.
Grokking Web Application Security
A hashing algorithm deterministically maps input data to a fixed-size hash value while being designed to make different inputs produce different values with high probability.
- How it is used
- Uses hashes to detect changed data and verify credentials without storing original inputs.
- How deep it goes
- Explains deterministic, one-way behavior, collisions, brute force, and hash comparison through security scenarios.
- Examples
- Uses CDN script verification and Ruby bcrypt password hashing with a salt and comparison.
- What you can do after
- Apply it via Subresource Integrity and bcrypt to detect tampering and verify passwords without storing plain text.
Read how Grokking Web Application Security explains hash function →
Python How-To
Hashing is the computation of a compact hash value from input data using a hash function.
- How it is used
- Explains how dictionaries and sets index hashable keys and items, while motivating efficient membership lookup.
- How deep it goes
- Defines hash computation, consistency, collisions, one-way behavior, and hashability, but does not detail collision-resolution algorithms.
- Examples
- Uses Python hash calls, password comparison, dictionary keys, set items, and list-versus-set membership timing.
- What you can do after
- Apply it via Python's hash function to inspect hash values and reason about dictionary keys and set items.
ASP.NET Core in Action, 3e
A hash is a deterministic compact value computed from data such that modifying the data normally changes the resulting value.
- How it is used
- Uses deterministic content values to refresh browser caches and store passwords without retaining plaintext.
- How deep it goes
- Explains content-based cache busting and password-storage guidance, but stops short of hash algorithm internals.
- Examples
- Demonstrates asp-append-version on a script and contrasts unchanged versus modified file query strings.
- What you can do after
- Apply it via ASP.NET Core Tag Helpers for automatic asset versioning and choose expensive password-hashing algorithms for stored credentials.
Read how ASP.NET Core in Action, 3e explains hash function →
Akka in Action, Second Edition
A hashing algorithm is an algorithm that deterministically maps input data to hash values.
- How it is used
- Routes related messages consistently across Akka routees in a group router.
- How deep it goes
- Explains key extraction, hashing, virtual-node selection, and routee selection, while leaving Akka internals invisible to normal users.
- Examples
- Uses command IDs, an Aggregator protocol, and Akka Scala configuration with ServiceKey and a group router.
- What you can do after
- Apply Akka consistent-hashing routing by defining a stable message-key mapping and configuring virtual-node capacity.
Read how Akka in Action, Second Edition explains hash function →
Acing the CCNA Exam: Volume 2 Advanced Networking and Security
A hashing algorithm transforms input data into a fixed-size digest that can support password protection and integrity verification.
- How it is used
- Protects Cisco IOS passwords at rest and supports authentication without storing the original password.
- How deep it goes
- Defines one-way fixed-length conversion and contrasts password storage options, but does not explain algorithm internals.
- Examples
- Uses Cisco IOS enable-secret configuration and running-configuration verification with scrypt output.
- What you can do after
- Configure and verify a Cisco IOS enable secret stored with a selected hashing algorithm.
Read how Acing the CCNA Exam: Volume 2 Advanced Networking and Security explains hash function →
Python Workout, Second Edition
A hash function is a function that maps a hashable Python object to an integer hash value used by hash-based data structures.
- How it is used
- Uses hashing to restrict dictionary keys to hashable objects and make key lookup fast.
- How deep it goes
- Explains hash-based lookup through an office analogy and contrasts it with linear sequence search, without detailing collision handling.
- Examples
- Uses numbered offices and surname initials to illustrate direct lookup compared with checking offices sequentially.
- What you can do after
- Evaluate why dictionaries require hashable keys and why their lookups can outperform searches through strings, lists, or tuples.
Read how Python Workout, Second Edition explains hash function →
Related concepts
- hash valueproduces · A hash value is a deterministic, typically fixed-size value produced by applying a hash function to input data, often for lookup, comparison, identification, or integrity checking.
- SHA-256includes · SHA-256 is a standardized cryptographic hash function in the SHA-2 family that maps arbitrary input data to a fixed-length 256-bit digest.
- cryptographic hashproduces · A cryptographic hash is a fixed-length digest computed from input data by a deterministic function designed to resist preimage, second-preimage, and collision attacks.
- bloom filterused by · A Bloom filter is a space-efficient probabilistic data structure for testing set membership that permits false positives but not false negatives.
- SHA-2includes · SHA-2 is a standardized family of cryptographic hash algorithms that produces fixed-length digests, including SHA-224, SHA-256, SHA-384, and SHA-512.
- HMACused by · HMAC is a keyed message authentication code constructed from a cryptographic hash function and a secret key to authenticate data and verify its integrity.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.















