A simple MD5 hash function for JavaScript supports UTF-8 encoding.