I've recently been reading The Practice of Programming and it describes basic approaches to hashes in C. If you have to implement it from scratch, all the details are there along with explanations. Probably worth picking up if this is your first go at it.