Struct openssl::crypto::symm::Crypter
[−]
[src]
pub struct Crypter { // some fields omitted }
Represents a symmetric cipher context.
Methods
impl Crypter
[src]
fn new(t: Type, mode: Mode, key: &[u8], iv: Option<&[u8]>) -> Result<Crypter, ErrorStack>
Creates a new Crypter
.
Panics
Panics if an IV is required by the cipher but not provided, or if the
IV's length does not match the expected length (see Type::iv_len
).
fn pad(&mut self, padding: bool)
Enables or disables padding.
If padding is disabled, total amount of data encrypted/decrypted must be a multiple of the cipher's block size.
fn update(&mut self, input: &[u8], output: &mut [u8]) -> Result<usize, ErrorStack>
Feeds data from input
through the cipher, writing encrypted/decrypted
bytes into output
.
The number of bytes written to output
is returned. Note that this may
not be equal to the length of input
.
Panics
Panics if output.len() < input.len() + block_size
where
block_size
is the block size of the cipher (see Type::block_size
),
or if output.len() > c_int::max_value()
.
fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack>
Finishes the encryption/decryption process, writing any remaining data
to output
.
The number of bytes written to output
is returned.
update
should not be called after this method.
Panics
Panics if output
is less than the cipher's block size.