The rules do not require the mapping from values to hash codes to be fixed forever. Just because a particular value produced a particular hash code today does not mean you can expect to get the same code for the same value when running your program next week. Nor are programs obliged to produce the same hash for the same value when running simultaneously on two different computers. In fact, there are good reasons to avoid that. Criminals who attack online computer systems sometimes try to cause hash collisions. Collisions decrease the efficiency of hash-based algorithms, so an attack that attempts to overwhelm a server’s CPU will be more effective if it can induce colli...
Share this highlighthttp://learning.oreilly.com/a/programming-c-50/19812205/