Encryptor

Struct Encryptor 

Source
pub struct Encryptor<W: Write> { /* private fields */ }
Expand description

An encrypting stream adapter that encrypts what is written to it.

write::Encryptor is a stream adapter that sits atop a Write stream. Plaintext written to the Encryptor is encrypted and written to the underlying stream.

Implementations§

Source§

impl<W: Write> Encryptor<W>

Source

pub fn new( writer: W, cipher: Cipher, key: &[u8], iv: &[u8], ) -> Result<Self, ErrorStack>

Source

pub fn finish(self) -> Result<W, Error>

Finishes writing to the underlying cryptostream, padding the final block as needed, flushing all output. Returns the wrapped Write instance.

Trait Implementations§

Source§

impl<W: Write> Write for Encryptor<W>

Source§

fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

Writes decrypted bytes to the cryptostream, causing their encrypted contents to be written to the underlying Write object.

Source§

fn flush(&mut self) -> Result<(), Error>

Flushes the underlying stream but does not clear all internal buffers or explicitly pad the output blocks as that would prevent us from appeding anything in the future if we are not a block boundary.

1.36.0 · Source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

Like write, except that it writes from a slice of buffers. Read more
Source§

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · Source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
Source§

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations§

§

impl<W> Freeze for Encryptor<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for Encryptor<W>
where W: RefUnwindSafe,

§

impl<W> Send for Encryptor<W>
where W: Send,

§

impl<W> Sync for Encryptor<W>
where W: Sync,

§

impl<W> Unpin for Encryptor<W>
where W: Unpin,

§

impl<W> UnwindSafe for Encryptor<W>
where W: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.