port md5 from google project

port md5 from google project