]> Cypherpunks repositories - gostls13.git/commitdiff
Apply symmetric changes to sha1 and sha256 as to md4 and md5.
authorRobert Griesemer <gri@golang.org>
Tue, 29 Dec 2009 19:41:44 +0000 (11:41 -0800)
committerRobert Griesemer <gri@golang.org>
Tue, 29 Dec 2009 19:41:44 +0000 (11:41 -0800)
R=agl, agl1
CC=golang-dev
https://golang.org/cl/183083

src/pkg/crypto/sha1/sha1.go
src/pkg/crypto/sha256/sha256.go

index da70b7314a0d2dff462581696463a37224213117..7209041ee1a4f3d875d89f180843fd56007007c6 100644 (file)
@@ -70,8 +70,8 @@ func (d *digest) Write(p []byte) (nn int, err os.Error) {
        n := _Block(d, p)
        p = p[n:]
        if len(p) > 0 {
-               for i := 0; i < len(p); i++ {
-                       d.x[i] = p[i]
+               for i, x := range p {
+                       d.x[i] = x
                }
                d.nx = len(p)
        }
@@ -102,16 +102,12 @@ func (d *digest) Sum() []byte {
 
        p := make([]byte, 20)
        j := 0
-       for i := 0; i < 5; i++ {
-               s := d.h[i]
-               p[j] = byte(s >> 24)
-               j++
-               p[j] = byte(s >> 16)
-               j++
-               p[j] = byte(s >> 8)
-               j++
-               p[j] = byte(s)
-               j++
+       for _, s := range d.h {
+               p[j+0] = byte(s >> 24)
+               p[j+1] = byte(s >> 16)
+               p[j+2] = byte(s >> 8)
+               p[j+3] = byte(s >> 0)
+               j += 4
        }
        return p
 }
index 050dd221186dfce19fdd896191dfad07338871d8..bacefc5637acb93fa721550d24fa68ad81923510 100644 (file)
@@ -76,8 +76,8 @@ func (d *digest) Write(p []byte) (nn int, err os.Error) {
        n := _Block(d, p)
        p = p[n:]
        if len(p) > 0 {
-               for i := 0; i < len(p); i++ {
-                       d.x[i] = p[i]
+               for i, x := range p {
+                       d.x[i] = x
                }
                d.nx = len(p)
        }
@@ -108,16 +108,12 @@ func (d *digest) Sum() []byte {
 
        p := make([]byte, 32)
        j := 0
-       for i := 0; i < 8; i++ {
-               s := d.h[i]
-               p[j] = byte(s >> 24)
-               j++
-               p[j] = byte(s >> 16)
-               j++
-               p[j] = byte(s >> 8)
-               j++
-               p[j] = byte(s)
-               j++
+       for _, s := range d.h {
+               p[j+0] = byte(s >> 24)
+               p[j+1] = byte(s >> 16)
+               p[j+2] = byte(s >> 8)
+               p[j+3] = byte(s >> 0)
+               j += 4
        }
        return p
 }