| 12345678910111213141516171819202122232425262728293031 |
- package main
- import (
- "crypto/sha1"
- "encoding/hex"
- "fmt"
- "io"
- "os"
- "path/filepath"
- )
- func CalcMetadata(file string, writer io.Writer) error {
- fileReader, err := os.Open(file)
- if err != nil {
- return err
- }
- defer fileReader.Close()
- hasher := sha1.New()
- nBytes, err := io.Copy(hasher, fileReader)
- if err != nil {
- return err
- }
- sha1sum := hasher.Sum(nil)
- filename := filepath.Base(file)
- fmt.Fprintf(writer, "File: %s\n", filename)
- fmt.Fprintf(writer, "Size: %d\n", nBytes)
- fmt.Fprintf(writer, "SHA1: %s\n", hex.EncodeToString(sha1sum))
- fmt.Fprintln(writer)
- return nil
- }
|