code: func MD5FromReader(r io.Reader) (string, error) {
  	h := md5.New()
  	if _, err := io.Copy(h, r); err != nil {
  		return "", nil
  	}
  	return hex.EncodeToString(h.Sum(nil)), nil
  }
docs: // MD5FromReader creates a MD5 hash from the given reader.