From 875ac19922932b12f6357d64a460c06d031000e7 Mon Sep 17 00:00:00 2001 From: Jonas Knobloch Date: Thu, 23 Apr 2026 18:14:50 +0200 Subject: Add shelf module --- shelf/hash.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 shelf/hash.go (limited to 'shelf/hash.go') diff --git a/shelf/hash.go b/shelf/hash.go new file mode 100644 index 0000000..eea81d5 --- /dev/null +++ b/shelf/hash.go @@ -0,0 +1,28 @@ +package shelf + +import ( + "crypto/sha256" + "encoding/hex" + "io" + "os" +) + +func hashFile(name string) (string, error) { + var file *os.File + + if f, err := os.Open(name); err != nil { + return "", err + } else { + file = f + } + + defer file.Close() + + hash := sha256.New() + + if _, err := io.Copy(hash, file); err != nil { + return "", err + } + + return hex.EncodeToString(hash.Sum(nil)), nil +} -- cgit v1.3.1