pub trait ExtendableOutputFunction {
// Required methods
fn new() -> Self;
fn update(&mut self, data: &[u8]) -> Result<()>;
fn finalize(&mut self) -> Result<()>;
fn squeeze(&mut self, output: &mut [u8]) -> Result<()>;
fn squeeze_into_vec(&mut self, len: usize) -> Result<Vec<u8>>;
fn reset(&mut self) -> Result<()>;
fn security_level() -> usize;
// Provided method
fn generate(data: &[u8], len: usize) -> Result<Vec<u8>>
where Self: Sized { ... }
}
Expand description
Trait for extendable output functions
Required Methods§
Sourcefn squeeze(&mut self, output: &mut [u8]) -> Result<()>
fn squeeze(&mut self, output: &mut [u8]) -> Result<()>
Squeezes output bytes into the provided buffer
Sourcefn squeeze_into_vec(&mut self, len: usize) -> Result<Vec<u8>>
fn squeeze_into_vec(&mut self, len: usize) -> Result<Vec<u8>>
Squeezes the specified number of output bytes into a new vector
Sourcefn security_level() -> usize
fn security_level() -> usize
Returns the security level in bits
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.