MCPcopy
hub / github.com/cli/cli / CalculateDigestWithAlgorithm

Function CalculateDigestWithAlgorithm

pkg/cmd/attestation/artifact/digest/digest.go:37–53  ·  view source on GitHub ↗
(r io.Reader, alg string)

Source from the content-addressed store, hash-verified

35}
36
37func CalculateDigestWithAlgorithm(r io.Reader, alg string) (string, error) {
38 var h hash.Hash
39 switch alg {
40 case SHA256DigestAlgorithm:
41 h = sha256.New()
42 case SHA512DigestAlgorithm:
43 h = sha512.New()
44 default:
45 return "", errUnsupportedAlgorithm
46 }
47
48 if _, err := io.Copy(h, r); err != nil {
49 return "", fmt.Errorf("failed to calculate digest: %v", err)
50 }
51 digest := h.Sum(nil)
52 return hex.EncodeToString(digest), nil
53}

Callers 2

digestLocalFileArtifactFunction · 0.92

Calls 2

ErrorfMethod · 0.65
CopyMethod · 0.45

Tested by 1