Going back 30 working years (and some of use do), writing your own hash routines was a standard lesson for programmers. Nowadays it is something of a lost art - I am glad to see the pressures of modern large scale systems have revived interest in this area among more than just those responsible for creating runtime frameworks.