package main
import (
"crypto/md5"
"fmt"
"io"
"log"
"os"
)
func main() {
if len(os.Args) > 1 {
for _, arg := range os.Args[1:] {
ExampleNew_file(arg)
}
} else {
ExampleNew()
ExampleSum()
}
}
func ExampleNew() {
h := md5.New()
io.WriteString(h, "The fog is getting thicker!")
io.WriteString(h, "And Leon's getting laaarger!")
fmt.Printf("%x\n", h.Sum(nil))
}
func ExampleSum() {
data := []byte("These pretzels are making me thirsty.")
fmt.Printf("%x\n", md5.Sum(data))
}
func ExampleNew_file(path string) {
f, err := os.Open(path)
if err != nil {
log.Fatal(err)
}
defer f.Close()
h := md5.New()
if _, err := io.Copy(h, f); err != nil {
log.Fatal(err)
}
fmt.Printf("%x\n", h.Sum(nil))
}