FillBuff() 개인적인 정적인 메소드

private static FillBuff ( uint buff ) : void
buff uint
리턴 void
예제 #1
0
        private void ProcessBlock(byte[] inputBuffer, uint inputOffset)
        {
            this.count += 64UL;
            uint[] h     = this._H;
            uint[] array = this.buff;
            SHA1Internal.InitialiseBuff(array, inputBuffer, inputOffset);
            SHA1Internal.FillBuff(array);
            uint num  = h[0];
            uint num2 = h[1];
            uint num3 = h[2];
            uint num4 = h[3];
            uint num5 = h[4];
            int  i;

            for (i = 0; i < 20; i += 5)
            {
                num5 += (num << 5 | num >> 27) + (((num3 ^ num4) & num2) ^ num4) + 1518500249u + array[i];
                num2  = (num2 << 30 | num2 >> 2);
                num4 += (num5 << 5 | num5 >> 27) + (((num2 ^ num3) & num) ^ num3) + 1518500249u + array[i + 1];
                num   = (num << 30 | num >> 2);
                num3 += (num4 << 5 | num4 >> 27) + (((num ^ num2) & num5) ^ num2) + 1518500249u + array[i + 2];
                num5  = (num5 << 30 | num5 >> 2);
                num2 += (num3 << 5 | num3 >> 27) + (((num5 ^ num) & num4) ^ num) + 1518500249u + array[i + 3];
                num4  = (num4 << 30 | num4 >> 2);
                num  += (num2 << 5 | num2 >> 27) + (((num4 ^ num5) & num3) ^ num5) + 1518500249u + array[i + 4];
                num3  = (num3 << 30 | num3 >> 2);
            }
            while (i < 40)
            {
                num5 += (num << 5 | num >> 27) + (num2 ^ num3 ^ num4) + 1859775393u + array[i];
                num2  = (num2 << 30 | num2 >> 2);
                num4 += (num5 << 5 | num5 >> 27) + (num ^ num2 ^ num3) + 1859775393u + array[i + 1];
                num   = (num << 30 | num >> 2);
                num3 += (num4 << 5 | num4 >> 27) + (num5 ^ num ^ num2) + 1859775393u + array[i + 2];
                num5  = (num5 << 30 | num5 >> 2);
                num2 += (num3 << 5 | num3 >> 27) + (num4 ^ num5 ^ num) + 1859775393u + array[i + 3];
                num4  = (num4 << 30 | num4 >> 2);
                num  += (num2 << 5 | num2 >> 27) + (num3 ^ num4 ^ num5) + 1859775393u + array[i + 4];
                num3  = (num3 << 30 | num3 >> 2);
                i    += 5;
            }
            while (i < 60)
            {
                num5 += (num << 5 | num >> 27) + ((num2 & num3) | (num2 & num4) | (num3 & num4)) + 2400959708u + array[i];
                num2  = (num2 << 30 | num2 >> 2);
                num4 += (num5 << 5 | num5 >> 27) + ((num & num2) | (num & num3) | (num2 & num3)) + 2400959708u + array[i + 1];
                num   = (num << 30 | num >> 2);
                num3 += (num4 << 5 | num4 >> 27) + ((num5 & num) | (num5 & num2) | (num & num2)) + 2400959708u + array[i + 2];
                num5  = (num5 << 30 | num5 >> 2);
                num2 += (num3 << 5 | num3 >> 27) + ((num4 & num5) | (num4 & num) | (num5 & num)) + 2400959708u + array[i + 3];
                num4  = (num4 << 30 | num4 >> 2);
                num  += (num2 << 5 | num2 >> 27) + ((num3 & num4) | (num3 & num5) | (num4 & num5)) + 2400959708u + array[i + 4];
                num3  = (num3 << 30 | num3 >> 2);
                i    += 5;
            }
            while (i < 80)
            {
                num5 += (num << 5 | num >> 27) + (num2 ^ num3 ^ num4) + 3395469782u + array[i];
                num2  = (num2 << 30 | num2 >> 2);
                num4 += (num5 << 5 | num5 >> 27) + (num ^ num2 ^ num3) + 3395469782u + array[i + 1];
                num   = (num << 30 | num >> 2);
                num3 += (num4 << 5 | num4 >> 27) + (num5 ^ num ^ num2) + 3395469782u + array[i + 2];
                num5  = (num5 << 30 | num5 >> 2);
                num2 += (num3 << 5 | num3 >> 27) + (num4 ^ num5 ^ num) + 3395469782u + array[i + 3];
                num4  = (num4 << 30 | num4 >> 2);
                num  += (num2 << 5 | num2 >> 27) + (num3 ^ num4 ^ num5) + 3395469782u + array[i + 4];
                num3  = (num3 << 30 | num3 >> 2);
                i    += 5;
            }
            h[0] += num;
            h[1] += num2;
            h[2] += num3;
            h[3] += num4;
            h[4] += num5;
        }