Is there a Cormen-like reference on Hashes and Hashing? This particular structure has seen little attention in my CS education for some reason but I'd like to learn more as they seem to be everywhere. I know Cormen covers it but I'm looking for something more specialized and in-depth.

  • As far as I know, there aren't that many books on hashes and only hashes. I'm sure you can find a few, but they are not recognized as the "Bible".
    – Dynamic
    May 7, 2012 at 21:39
  • 1
    I don't really get your question. A hash is just a BLOB returned by a hash function. Do you want to know more about hash-functions?Are you talking about cryptographic hash functions, or the fast but insecure kind used in most hashtables? Or about Hashtables? May 8, 2012 at 9:28
  • 6
    I assume that by Cormen you mean Thomas H. Cormen and thus are referring to Introduction to Algorithms. Its usually a good idea to link to such resources, as they may not be as widely known as you assume.
    – Mark Booth
    May 8, 2012 at 13:21

3 Answers 3


I really enjoyed the book File Organization and Processing. Despite it's name, it's just a book of data structures. The first half is about hashing and various collision resolution methods, and later on there is coverage of some dynamic hashing algorithms.

It's a little old but it's still useful. There are step-by-step examples for each algorithm and answers to the exercises.

Disclaimer: I'm biased because the author was one of my CS professors.


Cormen is a little out of date these days. The wikipedia page has a good collection and discussion, but the leader these days for fast, non-cryptographic data access is murmur hash.

p.s. One might argue that new bibles aren't being created anymore these days. There are just very good pages on Wikipedia and Stack Overflow. :)

  • Which type of hash you need depends critically on the data being hashed (both in the normal case and in the abnormal case) and on the type of hash table being constructed. For example, hash functions that are strong against attack (abnormal case) tend to be slower with average data (normal case) and there can be external mechanisms to limit the damage in an abnormal case (e.g., overall limits on the total size of input data). May 8, 2012 at 14:13
  • Bibles don't rot like the internet does. From an old-school book-a-holic pro dev and language researcher. I love my paper Code Complete for all the highlighting, stickies, and I like it's worn look - makes me appreciate that I read it every year. And I'll also keep my Kindle version that is much more searchable than the index. So I respectfully disagree with you -- New Bibles are indeed still being created these days. Mar 29 at 6:18

My guess learning about hashes is not the same of learning about random number generators (rng) but its very similar field in a way of knowing what differ a real random number from a pseudo-random and the quality about randomness. You probably know about xor-ing an image to hide any kind of data that you could extract from it, so, thats my guess. You need some good seeds for a good hash and knowing about randomness could help.

  • 1
    An answer should fully address the question. The question here is about authoritative sources and reference material for information on hashes. Your answer doesn't mention any sources or material. I would encourage you to read the help center. Remember that Stack Exchange is not a forum - that these are answers not comments or tangents.
    – user40980
    Dec 6, 2014 at 21:24