docker/utils/checksum.go

25 строки
338 B
Go

package utils
import (
"encoding/hex"
"hash"
"io"
)
type CheckSum struct {
io.Reader
Hash hash.Hash
}
func (cs *CheckSum) Read(buf []byte) (int, error) {
n, err := cs.Reader.Read(buf)
if err == nil {
cs.Hash.Write(buf[:n])
}
return n, err
}
func (cs *CheckSum) Sum() string {
return hex.EncodeToString(cs.Hash.Sum(nil))
}