aboutsummaryrefslogtreecommitdiffstats
path: root/core/hash.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/hash.go')
-rw-r--r--core/hash.go58
1 files changed, 0 insertions, 58 deletions
diff --git a/core/hash.go b/core/hash.go
deleted file mode 100644
index c50ffb2..0000000
--- a/core/hash.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package core
-
-import (
- "crypto/sha1"
- "encoding/hex"
- "hash"
- "strconv"
-)
-
-// Hash SHA1 hased content
-type Hash [20]byte
-
-// ZeroHash is Hash with value zero
-var ZeroHash Hash
-
-// ComputeHash compute the hash for a given ObjectType and content
-func ComputeHash(t ObjectType, content []byte) Hash {
- h := NewHasher(t, int64(len(content)))
- h.Write(content)
- return h.Sum()
-}
-
-// NewHash return a new Hash from a hexadecimal hash representation
-func NewHash(s string) Hash {
- b, _ := hex.DecodeString(s)
-
- var h Hash
- copy(h[:], b)
-
- return h
-}
-
-func (h Hash) IsZero() bool {
- var empty Hash
- return h == empty
-}
-
-func (h Hash) String() string {
- return hex.EncodeToString(h[:])
-}
-
-type Hasher struct {
- hash.Hash
-}
-
-func NewHasher(t ObjectType, size int64) Hasher {
- h := Hasher{sha1.New()}
- h.Write(t.Bytes())
- h.Write([]byte(" "))
- h.Write([]byte(strconv.FormatInt(size, 10)))
- h.Write([]byte{0})
- return h
-}
-
-func (h Hasher) Sum() (hash Hash) {
- copy(hash[:], h.Hash.Sum(nil))
- return
-}