port md5 and some high performance hash functions.