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<ZeroizingBytes>;
fn reset(&mut self) -> Result<()>;
fn security_level() -> usize;
// Provided method
fn generate(data: &[u8], len: usize) -> Result<ZeroizingBytes>
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<ZeroizingBytes>
fn squeeze_into_vec(&mut self, len: usize) -> Result<ZeroizingBytes>
Squeezes the specified number of output bytes into exact-size storage that clears itself on drop.
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".