public AesCTRCryptoStream(Stream stream, AesCTRCryptoTransform transform, CryptoStreamMode streamMode, bool leaveOpen) { this.stream = stream; this.transform = transform; this.leaveOpen = leaveOpen; this.canRead = stream.CanRead; this.canSeek = stream.CanSeek; this.canWrite = stream.CanWrite; if (streamMode == CryptoStreamMode.Read && !this.canRead) { throw new ArgumentException("The stream is not readable", "stream"); } if (streamMode == CryptoStreamMode.Write && !this.canWrite) { throw new ArgumentException("The stream is not writable", "stream"); } this.transform.Position = stream.Position; if (streamMode == CryptoStreamMode.Read) { this.readBuffer = new byte[8192]; } else { this.writeBuffer = new byte[8192]; } }
public AesCTRCryptoStream(Stream stream, AesCTRCryptoTransform transform, CryptoStreamMode streamMode) : this(stream, transform, streamMode, false) { }