util/sha256x: rename Hash as Block512 (#5351)

Rename Hash as Block512 to indicate that this is a general-purpose
hash.Hash for any algorithm that operates on 512-bit block sizes.

While we rename the package as hashx in this commit,
a subsequent commit will move the sha256x package to hashx.
This is done separately to avoid confusing git.

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
This commit is contained in:
Joe Tsai
2022-08-16 09:49:48 -07:00
committed by GitHub
parent 44d62b65d0
commit f061d20c9d
4 changed files with 106 additions and 72 deletions

View File

@ -34,7 +34,7 @@ import (
"time"
"unsafe"
"tailscale.com/util/sha256x"
hashx "tailscale.com/util/sha256x"
)
// There is much overlap between the theory of serialization and hashing.
@ -82,7 +82,7 @@ const scratchSize = 128
// hasher is reusable state for hashing a value.
// Get one via hasherPool.
type hasher struct {
sha256x.Hash
hashx.Block512
scratch [scratchSize]byte
visitStack visitStack
}
@ -111,6 +111,13 @@ func initSeed() {
seed = uint64(time.Now().UnixNano())
}
func (h *hasher) Reset() {
if h.Block512.Hash == nil {
h.Block512.Hash = sha256.New()
}
h.Block512.Reset()
}
func (h *hasher) sum() (s Sum) {
h.Sum(s.sum[:0])
return s