示例#1
0
        public override int Read(byte[] buffer, int offset, int count)
        {
#if NO_CRYPT
            return(BasePullStream.Read(buffer, offset, count));
#else
            var encrypted      = new byte[count + 1];
            var encryptedCount = BasePullStream.Read(encrypted, 0, count);

            Decrypt(encrypted, buffer, count);

            return(encryptedCount);
#endif
        }
示例#2
0
        public override int ReadByte()
        {
#if NO_CRYPT
            return(BasePullStream.ReadByte());
#else
            var encrypted = new byte[1];
            var value     = BasePullStream.ReadByte();
            if ((value < 0) || (value > 255))
            {
                throw new EndOfStreamException();
            }

            encrypted[0] = (byte)value;

            var buffer = new byte[1];
            Decrypt(encrypted, buffer, 1);

            return(buffer[0]);
#endif
        }