code: func hashReader(r io.Reader) ([]byte, error) {
  	h := sha256.New()
  	if _, err := io.Copy(h, r); err != nil {
  		return nil, err
  	}
  	hash := []byte(fmt.Sprintf("%x", h.Sum(nil)))
  	return hash, nil
  }
docs: // hashReader returns the SHA256 hash of the reader