pub trait Encryption {
Show 18 methods
// Required methods
fn applies_to(&self, mode: EncryptionMode) -> bool;
fn encrypt_ivec(
&self,
data: IVec,
mode: EncryptionMode,
nonce: Option<IVec>,
) -> Result<IVec>;
fn decrypt_ivec(&self, data: IVec, mode: EncryptionMode) -> Result<IVec>;
fn get_nonce_from_encrypted(&self, data: &IVec) -> Result<IVec>;
fn salt_and_hash<D: AsRef<[u8]>>(&self, data: D) -> Hash;
// Provided methods
fn applies_to_key(&self) -> bool { ... }
fn applies_to_tree_name(&self) -> bool { ... }
fn encrypt<T, E>(
&self,
data: T,
mode: EncryptionMode,
default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>,
) -> Result<IVec, E>
where T: Into<IVec>,
E: From<Error> { ... }
fn decrypt<T: Into<IVec>>(
&self,
data: T,
mode: EncryptionMode,
) -> Result<IVec> { ... }
fn encrypt_key<T, E>(
&self,
data: T,
default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>,
) -> Result<IVec, E>
where T: Into<IVec>,
E: From<Error> { ... }
fn decrypt_key<T: Into<IVec>>(&self, data: T) -> Result<IVec> { ... }
fn encrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec> { ... }
fn decrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec> { ... }
fn encrypt_tree_name<T, E>(
&self,
data: T,
default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>,
) -> Result<IVec, E>
where T: Into<IVec>,
E: From<Error> { ... }
fn decrypt_tree_name<T: Into<IVec>>(&self, data: T) -> Result<IVec> { ... }
fn decrypt_value_result<E>(
&self,
res: Result<Option<IVec>, E>,
) -> Result<Option<IVec>, E>
where E: From<Error> { ... }
fn decrypt_key_value_result(
&self,
res: Result<Option<(IVec, IVec)>>,
) -> Result<Option<(IVec, IVec)>> { ... }
fn decrypt_event(&self, event: Event) -> Result<Event> { ... }
}
Expand description
Encryption operations
Required Methods§
fn applies_to(&self, mode: EncryptionMode) -> bool
fn encrypt_ivec( &self, data: IVec, mode: EncryptionMode, nonce: Option<IVec>, ) -> Result<IVec>
fn decrypt_ivec(&self, data: IVec, mode: EncryptionMode) -> Result<IVec>
fn get_nonce_from_encrypted(&self, data: &IVec) -> Result<IVec>
fn salt_and_hash<D: AsRef<[u8]>>(&self, data: D) -> Hash
Provided Methods§
fn applies_to_key(&self) -> bool
fn applies_to_tree_name(&self) -> bool
fn encrypt<T, E>( &self, data: T, mode: EncryptionMode, default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>, ) -> Result<IVec, E>
fn decrypt<T: Into<IVec>>(&self, data: T, mode: EncryptionMode) -> Result<IVec>
fn encrypt_key<T, E>( &self, data: T, default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>, ) -> Result<IVec, E>
fn decrypt_key<T: Into<IVec>>(&self, data: T) -> Result<IVec>
fn encrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec>
fn decrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec>
fn encrypt_tree_name<T, E>( &self, data: T, default_nonce_fn: Box<dyn Fn(&IVec) -> Result<Option<IVec>, E> + '_>, ) -> Result<IVec, E>
fn decrypt_tree_name<T: Into<IVec>>(&self, data: T) -> Result<IVec>
fn decrypt_value_result<E>( &self, res: Result<Option<IVec>, E>, ) -> Result<Option<IVec>, E>
fn decrypt_key_value_result( &self, res: Result<Option<(IVec, IVec)>>, ) -> Result<Option<(IVec, IVec)>>
fn decrypt_event(&self, event: Event) -> Result<Event>
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.