code: func makeHA1(realm, username, password string, algorithm digestAlgorithm) string {
  	A1 := fmt.Sprintf("%s:%s:%s", username, realm, password)
  	return hash([]byte(A1), algorithm)
  }
docs: // makeHA1 returns the HA1 hash, where
  //
  //     HA1 = H(A1) = H(username:realm:password)
  //
  // and H is one of MD5 or SHA256.