From 26beeaecff6aded6fb3863951d8345e3f0b854be Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Mon, 5 Apr 2021 13:31:24 +0800 Subject: [PATCH] added md5 implementation --- src/gomd5/main.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/gomd5/main.go diff --git a/src/gomd5/main.go b/src/gomd5/main.go new file mode 100644 index 0000000..05d948b --- /dev/null +++ b/src/gomd5/main.go @@ -0,0 +1,34 @@ +package main + +import ( + "crypto/md5" + "fmt" + "io" + "os" +) + +func main() { + if len(os.Args) < 2 { + fmt.Println("Usage: gomd5 [file ...]") + } + files := os.Args[1:] + for _, file := range files { + if err := processFile(file); err != nil { + fmt.Fprintf(os.Stderr, "gomd5: %v", err) + } + } +} + +func processFile(filename string) error { + f, err := os.Open(filename) + if err != nil { + return err + } + defer f.Close() + h := md5.New() + if _, err := io.Copy(h, f); err != nil { + return err + } + fmt.Printf("%x\n", h.Sum(nil)) + return nil +} -- GitLab