Org.BouncyCastle.Crypto.Digests.Sha3Digest.DoUpdate C# (CSharp) Method

DoUpdate() private method

private DoUpdate ( byte data, int off, long databitlen ) : void
data byte
off int
databitlen long
return void
        private void DoUpdate(byte[] data, int off, long databitlen)
        {
            if ((databitlen % 8) == 0)
            {
                Absorb(data, off, databitlen);
            }
            else
            {
                Absorb(data, off, databitlen - (databitlen % 8));

                byte[] lastByte = new byte[1];

                lastByte[0] = (byte)(data[off + (int)(databitlen / 8)] >> (int)(8 - (databitlen % 8)));
                Absorb(lastByte, off, databitlen % 8);
            }
        }