pub struct EncryptionConfig {
pub algorithm: EncryptionAlgorithm,
pub kdf: KeyDerivationFunction,
pub master_key: Option<Vec<u8>>,
pub salt_size: usize,
pub nonce_size: usize,
pub pbkdf2_iterations: u32,
pub argon2_memory_cost: u32,
pub argon2_time_cost: u32,
pub enable_versioning: bool,
pub key_version: u32,
}Expand description
Encryption configuration
Fields§
§algorithm: EncryptionAlgorithmEncryption algorithm
kdf: KeyDerivationFunctionKey derivation function
master_key: Option<Vec<u8>>Master key (for key derivation)
salt_size: usizeSalt size in bytes
nonce_size: usizeNonce size in bytes
pbkdf2_iterations: u32PBKDF2 iterations (if using PBKDF2)
argon2_memory_cost: u32Argon2 memory cost in KiB (if using Argon2)
argon2_time_cost: u32Argon2 time cost (if using Argon2)
enable_versioning: boolEnable key versioning for rotation
key_version: u32Current key version
Implementations§
Source§impl EncryptionConfig
impl EncryptionConfig
Sourcepub fn with_master_key(self, key: impl AsRef<[u8]>) -> Self
pub fn with_master_key(self, key: impl AsRef<[u8]>) -> Self
Set the master key
Sourcepub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> Self
pub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> Self
Set the encryption algorithm
Sourcepub fn with_kdf(self, kdf: KeyDerivationFunction) -> Self
pub fn with_kdf(self, kdf: KeyDerivationFunction) -> Self
Set the key derivation function
Sourcepub fn with_key_version(self, version: u32) -> Self
pub fn with_key_version(self, version: u32) -> Self
Set the key version
Trait Implementations§
Source§impl Clone for EncryptionConfig
impl Clone for EncryptionConfig
Source§fn clone(&self) -> EncryptionConfig
fn clone(&self) -> EncryptionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EncryptionConfig
impl Debug for EncryptionConfig
Source§impl Default for EncryptionConfig
impl Default for EncryptionConfig
Source§impl<'de> Deserialize<'de> for EncryptionConfig
impl<'de> Deserialize<'de> for EncryptionConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EncryptionConfig
impl RefUnwindSafe for EncryptionConfig
impl Send for EncryptionConfig
impl Sync for EncryptionConfig
impl Unpin for EncryptionConfig
impl UnwindSafe for EncryptionConfig
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.