code: func Md5Sum(reader io.Reader) (string, error) {
  	var returnMD5String string
  	hash := md5.New()
  	if _, err := io.Copy(hash, reader); err != nil {
  		return returnMD5String, err
  	}
  	hashInBytes := hash.Sum(nil)[:16]
  	returnMD5String = hex.EncodeToString(hashInBytes)
  	return returnMD5String, nil
  }
docs: // Md5Sum calculates the md5sum of a stream