calculate the md5 hash of a string