aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/crypto/sha256/sha256.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/crypto/sha256/sha256.go')
-rw-r--r--libgo/go/crypto/sha256/sha256.go43
1 files changed, 12 insertions, 31 deletions
diff --git a/libgo/go/crypto/sha256/sha256.go b/libgo/go/crypto/sha256/sha256.go
index 3fd446f..e1cccf6 100644
--- a/libgo/go/crypto/sha256/sha256.go
+++ b/libgo/go/crypto/sha256/sha256.go
@@ -8,6 +8,7 @@ package sha256
import (
"crypto"
+ "encoding/binary"
"errors"
"hash"
)
@@ -104,35 +105,15 @@ func (d *digest) UnmarshalBinary(b []byte) error {
return nil
}
-func putUint32(x []byte, s uint32) {
- _ = x[3]
- x[0] = byte(s >> 24)
- x[1] = byte(s >> 16)
- x[2] = byte(s >> 8)
- x[3] = byte(s)
-}
-
-func putUint64(x []byte, s uint64) {
- _ = x[7]
- x[0] = byte(s >> 56)
- x[1] = byte(s >> 48)
- x[2] = byte(s >> 40)
- x[3] = byte(s >> 32)
- x[4] = byte(s >> 24)
- x[5] = byte(s >> 16)
- x[6] = byte(s >> 8)
- x[7] = byte(s)
-}
-
func appendUint64(b []byte, x uint64) []byte {
var a [8]byte
- putUint64(a[:], x)
+ binary.BigEndian.PutUint64(a[:], x)
return append(b, a[:]...)
}
func appendUint32(b []byte, x uint32) []byte {
var a [4]byte
- putUint32(a[:], x)
+ binary.BigEndian.PutUint32(a[:], x)
return append(b, a[:]...)
}
@@ -246,7 +227,7 @@ func (d *digest) checkSum() [Size]byte {
// Length in bits.
len <<= 3
- putUint64(tmp[:], len)
+ binary.BigEndian.PutUint64(tmp[:], len)
d.Write(tmp[0:8])
if d.nx != 0 {
@@ -255,15 +236,15 @@ func (d *digest) checkSum() [Size]byte {
var digest [Size]byte
- putUint32(digest[0:], d.h[0])
- putUint32(digest[4:], d.h[1])
- putUint32(digest[8:], d.h[2])
- putUint32(digest[12:], d.h[3])
- putUint32(digest[16:], d.h[4])
- putUint32(digest[20:], d.h[5])
- putUint32(digest[24:], d.h[6])
+ binary.BigEndian.PutUint32(digest[0:], d.h[0])
+ binary.BigEndian.PutUint32(digest[4:], d.h[1])
+ binary.BigEndian.PutUint32(digest[8:], d.h[2])
+ binary.BigEndian.PutUint32(digest[12:], d.h[3])
+ binary.BigEndian.PutUint32(digest[16:], d.h[4])
+ binary.BigEndian.PutUint32(digest[20:], d.h[5])
+ binary.BigEndian.PutUint32(digest[24:], d.h[6])
if !d.is224 {
- putUint32(digest[28:], d.h[7])
+ binary.BigEndian.PutUint32(digest[28:], d.h[7])
}
return digest