http://www.etree.org/md5com.html
