From: apocelipes Date: Thu, 16 May 2024 12:58:48 +0000 (+0000) Subject: crypto: use byteorder to simplify consumeUint32 and consumeUint64 X-Git-Tag: go1.23rc1~310 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2b42ed6483a982b7b9683a3b55f3e0febf37d74f;p=gostls13.git crypto: use byteorder to simplify consumeUint32 and consumeUint64 A follow-up for the recent CL 585017. Change-Id: I9faaff7fdf62fc931fc7f64dbe238de277280730 GitHub-Last-Rev: 468d60c3960751c1eec81c6ef1a57ab9e32f2eb8 GitHub-Pull-Request: golang/go#67425 Reviewed-on: https://go-review.googlesource.com/c/go/+/586035 Reviewed-by: Keith Randall Reviewed-by: Keith Randall Reviewed-by: Dmitri Shuralyov Auto-Submit: Keith Randall LUCI-TryBot-Result: Go LUCI --- diff --git a/src/crypto/sha1/sha1.go b/src/crypto/sha1/sha1.go index 01f16b389e..c0742b9d83 100644 --- a/src/crypto/sha1/sha1.go +++ b/src/crypto/sha1/sha1.go @@ -82,16 +82,11 @@ func (d *digest) UnmarshalBinary(b []byte) error { } func consumeUint64(b []byte) ([]byte, uint64) { - _ = b[7] - x := uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | - uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 - return b[8:], x + return b[8:], byteorder.BeUint64(b) } func consumeUint32(b []byte) ([]byte, uint32) { - _ = b[3] - x := uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24 - return b[4:], x + return b[4:], byteorder.BeUint32(b) } func (d *digest) Reset() { diff --git a/src/crypto/sha256/sha256.go b/src/crypto/sha256/sha256.go index cad651624c..68244fd63b 100644 --- a/src/crypto/sha256/sha256.go +++ b/src/crypto/sha256/sha256.go @@ -107,16 +107,11 @@ func (d *digest) UnmarshalBinary(b []byte) error { } func consumeUint64(b []byte) ([]byte, uint64) { - _ = b[7] - x := uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | - uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 - return b[8:], x + return b[8:], byteorder.BeUint64(b) } func consumeUint32(b []byte) ([]byte, uint32) { - _ = b[3] - x := uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24 - return b[4:], x + return b[4:], byteorder.BeUint32(b) } func (d *digest) Reset() { diff --git a/src/crypto/sha512/sha512.go b/src/crypto/sha512/sha512.go index 8fbaba575e..dde83625f7 100644 --- a/src/crypto/sha512/sha512.go +++ b/src/crypto/sha512/sha512.go @@ -198,10 +198,7 @@ func (d *digest) UnmarshalBinary(b []byte) error { } func consumeUint64(b []byte) ([]byte, uint64) { - _ = b[7] - x := uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | - uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 - return b[8:], x + return b[8:], byteorder.BeUint64(b) } // New returns a new hash.Hash computing the SHA-512 checksum.