@@ -59,6 +59,7 @@ import "C"
59
59
import (
60
60
"errors"
61
61
"hash"
62
+ "internal/byteorder"
62
63
"unsafe"
63
64
)
64
65
@@ -165,14 +166,14 @@ func (h *sha1Hash) MarshalBinary() ([]byte, error) {
165
166
func (h * sha1Hash ) AppendBinary (b []byte ) ([]byte , error ) {
166
167
d := (* sha1Ctx )(unsafe .Pointer (& h .ctx ))
167
168
b = append (b , sha1Magic ... )
168
- b = appendUint32 (b , d .h [0 ])
169
- b = appendUint32 (b , d .h [1 ])
170
- b = appendUint32 (b , d .h [2 ])
171
- b = appendUint32 (b , d .h [3 ])
172
- b = appendUint32 (b , d .h [4 ])
169
+ b = byteorder . BeAppendUint32 (b , d .h [0 ])
170
+ b = byteorder . BeAppendUint32 (b , d .h [1 ])
171
+ b = byteorder . BeAppendUint32 (b , d .h [2 ])
172
+ b = byteorder . BeAppendUint32 (b , d .h [3 ])
173
+ b = byteorder . BeAppendUint32 (b , d .h [4 ])
173
174
b = append (b , d .x [:d .nx ]... )
174
175
b = append (b , make ([]byte , len (d .x )- int (d .nx ))... )
175
- b = appendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
176
+ b = byteorder . BeAppendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
176
177
return b , nil
177
178
}
178
179
@@ -294,17 +295,17 @@ func (h *sha224Hash) MarshalBinary() ([]byte, error) {
294
295
func (h * sha224Hash ) AppendBinary (b []byte ) ([]byte , error ) {
295
296
d := (* sha256Ctx )(unsafe .Pointer (& h .ctx ))
296
297
b = append (b , magic224 ... )
297
- b = appendUint32 (b , d .h [0 ])
298
- b = appendUint32 (b , d .h [1 ])
299
- b = appendUint32 (b , d .h [2 ])
300
- b = appendUint32 (b , d .h [3 ])
301
- b = appendUint32 (b , d .h [4 ])
302
- b = appendUint32 (b , d .h [5 ])
303
- b = appendUint32 (b , d .h [6 ])
304
- b = appendUint32 (b , d .h [7 ])
298
+ b = byteorder . BeAppendUint32 (b , d .h [0 ])
299
+ b = byteorder . BeAppendUint32 (b , d .h [1 ])
300
+ b = byteorder . BeAppendUint32 (b , d .h [2 ])
301
+ b = byteorder . BeAppendUint32 (b , d .h [3 ])
302
+ b = byteorder . BeAppendUint32 (b , d .h [4 ])
303
+ b = byteorder . BeAppendUint32 (b , d .h [5 ])
304
+ b = byteorder . BeAppendUint32 (b , d .h [6 ])
305
+ b = byteorder . BeAppendUint32 (b , d .h [7 ])
305
306
b = append (b , d .x [:d .nx ]... )
306
307
b = append (b , make ([]byte , len (d .x )- int (d .nx ))... )
307
- b = appendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
308
+ b = byteorder . BeAppendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
308
309
return b , nil
309
310
}
310
311
@@ -315,17 +316,17 @@ func (h *sha256Hash) MarshalBinary() ([]byte, error) {
315
316
func (h * sha256Hash ) AppendBinary (b []byte ) ([]byte , error ) {
316
317
d := (* sha256Ctx )(unsafe .Pointer (& h .ctx ))
317
318
b = append (b , magic256 ... )
318
- b = appendUint32 (b , d .h [0 ])
319
- b = appendUint32 (b , d .h [1 ])
320
- b = appendUint32 (b , d .h [2 ])
321
- b = appendUint32 (b , d .h [3 ])
322
- b = appendUint32 (b , d .h [4 ])
323
- b = appendUint32 (b , d .h [5 ])
324
- b = appendUint32 (b , d .h [6 ])
325
- b = appendUint32 (b , d .h [7 ])
319
+ b = byteorder . BeAppendUint32 (b , d .h [0 ])
320
+ b = byteorder . BeAppendUint32 (b , d .h [1 ])
321
+ b = byteorder . BeAppendUint32 (b , d .h [2 ])
322
+ b = byteorder . BeAppendUint32 (b , d .h [3 ])
323
+ b = byteorder . BeAppendUint32 (b , d .h [4 ])
324
+ b = byteorder . BeAppendUint32 (b , d .h [5 ])
325
+ b = byteorder . BeAppendUint32 (b , d .h [6 ])
326
+ b = byteorder . BeAppendUint32 (b , d .h [7 ])
326
327
b = append (b , d .x [:d .nx ]... )
327
328
b = append (b , make ([]byte , len (d .x )- int (d .nx ))... )
328
- b = appendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
329
+ b = byteorder . BeAppendUint64 (b , uint64 (d .nl )>> 3 | uint64 (d .nh )<< 29 )
329
330
return b , nil
330
331
}
331
332
@@ -477,17 +478,17 @@ func (h *sha384Hash) MarshalBinary() ([]byte, error) {
477
478
func (h * sha384Hash ) AppendBinary (b []byte ) ([]byte , error ) {
478
479
d := (* sha512Ctx )(unsafe .Pointer (& h .ctx ))
479
480
b = append (b , magic384 ... )
480
- b = appendUint64 (b , d .h [0 ])
481
- b = appendUint64 (b , d .h [1 ])
482
- b = appendUint64 (b , d .h [2 ])
483
- b = appendUint64 (b , d .h [3 ])
484
- b = appendUint64 (b , d .h [4 ])
485
- b = appendUint64 (b , d .h [5 ])
486
- b = appendUint64 (b , d .h [6 ])
487
- b = appendUint64 (b , d .h [7 ])
481
+ b = byteorder . BeAppendUint64 (b , d .h [0 ])
482
+ b = byteorder . BeAppendUint64 (b , d .h [1 ])
483
+ b = byteorder . BeAppendUint64 (b , d .h [2 ])
484
+ b = byteorder . BeAppendUint64 (b , d .h [3 ])
485
+ b = byteorder . BeAppendUint64 (b , d .h [4 ])
486
+ b = byteorder . BeAppendUint64 (b , d .h [5 ])
487
+ b = byteorder . BeAppendUint64 (b , d .h [6 ])
488
+ b = byteorder . BeAppendUint64 (b , d .h [7 ])
488
489
b = append (b , d .x [:d .nx ]... )
489
490
b = append (b , make ([]byte , len (d .x )- int (d .nx ))... )
490
- b = appendUint64 (b , d .nl >> 3 | d .nh << 61 )
491
+ b = byteorder . BeAppendUint64 (b , d .nl >> 3 | d .nh << 61 )
491
492
return b , nil
492
493
}
493
494
@@ -498,17 +499,17 @@ func (h *sha512Hash) MarshalBinary() ([]byte, error) {
498
499
func (h * sha512Hash ) AppendBinary (b []byte ) ([]byte , error ) {
499
500
d := (* sha512Ctx )(unsafe .Pointer (& h .ctx ))
500
501
b = append (b , magic512 ... )
501
- b = appendUint64 (b , d .h [0 ])
502
- b = appendUint64 (b , d .h [1 ])
503
- b = appendUint64 (b , d .h [2 ])
504
- b = appendUint64 (b , d .h [3 ])
505
- b = appendUint64 (b , d .h [4 ])
506
- b = appendUint64 (b , d .h [5 ])
507
- b = appendUint64 (b , d .h [6 ])
508
- b = appendUint64 (b , d .h [7 ])
502
+ b = byteorder . BeAppendUint64 (b , d .h [0 ])
503
+ b = byteorder . BeAppendUint64 (b , d .h [1 ])
504
+ b = byteorder . BeAppendUint64 (b , d .h [2 ])
505
+ b = byteorder . BeAppendUint64 (b , d .h [3 ])
506
+ b = byteorder . BeAppendUint64 (b , d .h [4 ])
507
+ b = byteorder . BeAppendUint64 (b , d .h [5 ])
508
+ b = byteorder . BeAppendUint64 (b , d .h [6 ])
509
+ b = byteorder . BeAppendUint64 (b , d .h [7 ])
509
510
b = append (b , d .x [:d .nx ]... )
510
511
b = append (b , make ([]byte , len (d .x )- int (d .nx ))... )
511
- b = appendUint64 (b , d .nl >> 3 | d .nh << 61 )
512
+ b = byteorder . BeAppendUint64 (b , d .nl >> 3 | d .nh << 61 )
512
513
return b , nil
513
514
}
514
515
@@ -568,47 +569,10 @@ func (h *sha512Hash) UnmarshalBinary(b []byte) error {
568
569
return nil
569
570
}
570
571
571
- func appendUint64 (b []byte , x uint64 ) []byte {
572
- var a [8 ]byte
573
- putUint64 (a [:], x )
574
- return append (b , a [:]... )
575
- }
576
-
577
- func appendUint32 (b []byte , x uint32 ) []byte {
578
- var a [4 ]byte
579
- putUint32 (a [:], x )
580
- return append (b , a [:]... )
581
- }
582
-
583
572
func consumeUint64 (b []byte ) ([]byte , uint64 ) {
584
- _ = b [7 ]
585
- x := uint64 (b [7 ]) | uint64 (b [6 ])<< 8 | uint64 (b [5 ])<< 16 | uint64 (b [4 ])<< 24 |
586
- uint64 (b [3 ])<< 32 | uint64 (b [2 ])<< 40 | uint64 (b [1 ])<< 48 | uint64 (b [0 ])<< 56
587
- return b [8 :], x
573
+ return b [8 :], byteorder .BeUint64 (b )
588
574
}
589
575
590
576
func consumeUint32 (b []byte ) ([]byte , uint32 ) {
591
- _ = b [3 ]
592
- x := uint32 (b [3 ]) | uint32 (b [2 ])<< 8 | uint32 (b [1 ])<< 16 | uint32 (b [0 ])<< 24
593
- return b [4 :], x
594
- }
595
-
596
- func putUint64 (x []byte , s uint64 ) {
597
- _ = x [7 ]
598
- x [0 ] = byte (s >> 56 )
599
- x [1 ] = byte (s >> 48 )
600
- x [2 ] = byte (s >> 40 )
601
- x [3 ] = byte (s >> 32 )
602
- x [4 ] = byte (s >> 24 )
603
- x [5 ] = byte (s >> 16 )
604
- x [6 ] = byte (s >> 8 )
605
- x [7 ] = byte (s )
606
- }
607
-
608
- func putUint32 (x []byte , s uint32 ) {
609
- _ = x [3 ]
610
- x [0 ] = byte (s >> 24 )
611
- x [1 ] = byte (s >> 16 )
612
- x [2 ] = byte (s >> 8 )
613
- x [3 ] = byte (s )
577
+ return b [4 :], byteorder .BeUint32 (b )
614
578
}
0 commit comments