md5summer translation from http://www.md5summer.org/