BitCoinClient.Form1.SHATransform C# (CSharp) Method

SHATransform() private method

private SHATransform ( uint output, byte data, uint init ) : void
output uint
data byte
init uint
return void
        void SHATransform(uint[] output, byte[] data, uint[] init)
        {
            OpenSSL.Core.SHA256 sha = new OpenSSL.Core.SHA256();

            byte[] swapped = new byte[data.Length];
            int count = data.Length / 4;
            for (int i = 0; i < count; i++)
            {
                int byidx = i * 4;
                swapped[byidx + 0] = data[byidx + 3];
                swapped[byidx + 1] = data[byidx + 2];
                swapped[byidx + 2] = data[byidx + 1];
                swapped[byidx + 3] = data[byidx + 0];
            }

            Array.Copy(init, sha.ctx.h, 8);
            sha.Update(swapped);
            Array.Copy(sha.ctx.h, output, 8);
        }