package sha256
import
var _K = []uint32{
0x428a2f98,
0x71374491,
0xb5c0fbcf,
0xe9b5dba5,
0x3956c25b,
0x59f111f1,
0x923f82a4,
0xab1c5ed5,
0xd807aa98,
0x12835b01,
0x243185be,
0x550c7dc3,
0x72be5d74,
0x80deb1fe,
0x9bdc06a7,
0xc19bf174,
0xe49b69c1,
0xefbe4786,
0x0fc19dc6,
0x240ca1cc,
0x2de92c6f,
0x4a7484aa,
0x5cb0a9dc,
0x76f988da,
0x983e5152,
0xa831c66d,
0xb00327c8,
0xbf597fc7,
0xc6e00bf3,
0xd5a79147,
0x06ca6351,
0x14292967,
0x27b70a85,
0x2e1b2138,
0x4d2c6dfc,
0x53380d13,
0x650a7354,
0x766a0abb,
0x81c2c92e,
0x92722c85,
0xa2bfe8a1,
0xa81a664b,
0xc24b8b70,
0xc76c51a3,
0xd192e819,
0xd6990624,
0xf40e3585,
0x106aa070,
0x19a4c116,
0x1e376c08,
0x2748774c,
0x34b0bcb5,
0x391c0cb3,
0x4ed8aa4a,
0x5b9cca4f,
0x682e6ff3,
0x748f82ee,
0x78a5636f,
0x84c87814,
0x8cc70208,
0x90befffa,
0xa4506ceb,
0xbef9a3f7,
0xc67178f2,
}
func ( *digest, []byte) {
var [64]uint32
, , , , , , , := .h[0], .h[1], .h[2], .h[3], .h[4], .h[5], .h[6], .h[7]
for len() >= chunk {
for := 0; < 16; ++ {
:= * 4
[] = uint32([])<<24 | uint32([+1])<<16 | uint32([+2])<<8 | uint32([+3])
}
for := 16; < 64; ++ {
:= [-2]
:= (bits.RotateLeft32(, -17)) ^ (bits.RotateLeft32(, -19)) ^ ( >> 10)
:= [-15]
:= (bits.RotateLeft32(, -7)) ^ (bits.RotateLeft32(, -18)) ^ ( >> 3)
[] = + [-7] + + [-16]
}
, , , , , , , := , , , , , , ,
for := 0; < 64; ++ {
:= + ((bits.RotateLeft32(, -6)) ^ (bits.RotateLeft32(, -11)) ^ (bits.RotateLeft32(, -25))) + (( & ) ^ (^ & )) + _K[] + []
:= ((bits.RotateLeft32(, -2)) ^ (bits.RotateLeft32(, -13)) ^ (bits.RotateLeft32(, -22))) + (( & ) ^ ( & ) ^ ( & ))
=
=
=
= +
=
=
=
= +
}
+=
+=
+=
+=
+=
+=
+=
+=
= [chunk:]
}
.h[0], .h[1], .h[2], .h[3], .h[4], .h[5], .h[6], .h[7] = , , , , , , ,
}