A hash code is a number, period. It's whatever you say it is. Hash code functions are either good or bad. If you take input data and generate a number from that data using an algorithm of your choosing, you have a hash code.
Here is a hash function for
string data that returns a hash code:
int hash(String data) { return 0; }
Note that it returns the same value no matter what. This is the worst kind of hash function.
Here's another bad one. It adds all the characters in the string. Alice would generate the same value as Aceli or Aleic. Duplicates are allowed, however, the more you have the worse your hash function.
(sadly, strings cannot be iterated it's the idea that's important here not writing a valid hash code method)
[ September 16, 2005: Message edited by: Rick O'Shay ]