Hash Codes are like the double jeopardy of the Cryptex featured in the DaVinci code. With a Hash Code you start with the contents of an object, and you generate a unique identifier (the hash code) based on those contents. Each and every possible value that object needs to have a different hash code.
They are used in various aspects of programming, from GUI, managing collections, proxying remote objects, etc. The attached site gives an example about how to make a hash code using an MD5 hash. Helpful too when you have a few different fields and you just dont kn0w what wll make for a unique hash code every time.