Here are some common hash functions in C I found online here and here. I have done the menial task of translating them to Common Lisp.
12345678910111213
;;; Hash Function by Dan Bernstein(defunhash-DJB(str)(declare(typesimple-stringstr)(type(unsigned-byte32)hash)(optimizespeed(debug0)))(let((hash5381))(loopforxacrossstrdo(setfhash(ldb(byte320)(+(ldb(byte320)(+(ldb(byte320)(ashhash5))hash))(char-intx))))finally(returnhash))))
12345678910
;;; Hash Function by Dan Bernstein(defunhash-DJB2(str)(declare(typesimple-stringstr)(type(unsigned-byte32)hash)(optimizespeed(debug0)))(let((hash5381))(loopforxacrossstrdo(setfhash(ldb(byte320)(logxor(char-intx)(*hash33))))finally(returnhash))))
12345678910111213
;;; Hash Function from GAWK, a variation from the verwion from SDBM(defunhash-SDBM(str)(declare(typesimple-stringstr)(type(unsigned-byte32)hash)(optimizespeed(debug0)))(let((hash0))(loopforxacrossstrdo(setfhash(ldb(byte320)(+(char-intx)(ldb(byte320)(ashhash6))(ldb(byte320)(ashhash16))(-hash))))finally(returnhash))))
123456789101112
;;; An algorithm proposed by Donald E. Knuth in The Art Of Computer Programming Volume 3(defunhash-DEK(str)(declare(typesimple-stringstr)(type(unsigned-byte32)hash)(optimizespeed(debug0)))(let((hash(lengthstr)))(loopforxacrossstrdo(setfhash(ldb(byte320)(logxor(char-intx)(logxor(ldb(byte320)(ashhash5))(ashhash-27)))))finally(returnhash))))