#[non_exhaustive]pub enum Kdf {
None,
Bcrypt {
salt: Vec<u8>,
rounds: u32,
},
}
Expand description
Key Derivation Functions (KDF).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Implementations§
source§impl Kdf
impl Kdf
sourcepub fn new(algorithm: KdfAlg, rng: &mut impl CryptoRngCore) -> Result<Self>
Available on crate feature encryption
only.
pub fn new(algorithm: KdfAlg, rng: &mut impl CryptoRngCore) -> Result<Self>
encryption
only.Initialize KDF configuration for the given algorithm.
sourcepub fn derive(
&self,
password: impl AsRef<[u8]>,
output: &mut [u8],
) -> Result<()>
Available on crate feature encryption
only.
pub fn derive( &self, password: impl AsRef<[u8]>, output: &mut [u8], ) -> Result<()>
encryption
only.Derive an encryption key from the given password.
Trait Implementations§
source§impl Encode for Kdf
impl Encode for Kdf
source§fn encoded_len(&self) -> Result<usize>
fn encoded_len(&self) -> Result<usize>
Get the length of this type encoded in bytes, prior to Base64 encoding.
source§fn encode(&self, writer: &mut impl Writer) -> Result<()>
fn encode(&self, writer: &mut impl Writer) -> Result<()>
Encode this value using the provided
Writer
.source§fn encoded_len_prefixed(&self) -> Result<usize, Error>
fn encoded_len_prefixed(&self) -> Result<usize, Error>
Return the length of this type after encoding when prepended with a
uint32
length prefix.source§fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
Encode this value, first prepending a
uint32
length prefix
set to Encode::encoded_len
.impl Eq for Kdf
impl StructuralPartialEq for Kdf
Auto Trait Implementations§
impl Freeze for Kdf
impl RefUnwindSafe for Kdf
impl Send for Kdf
impl Sync for Kdf
impl Unpin for Kdf
impl UnwindSafe for Kdf
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)