Trait Encryption

Source
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§

Source

fn applies_to(&self, mode: EncryptionMode) -> bool

Source

fn encrypt_ivec( &self, data: IVec, mode: EncryptionMode, nonce: Option<IVec>, ) -> Result<IVec>

Source

fn decrypt_ivec(&self, data: IVec, mode: EncryptionMode) -> Result<IVec>

Source

fn get_nonce_from_encrypted(&self, data: &IVec) -> Result<IVec>

Source

fn salt_and_hash<D: AsRef<[u8]>>(&self, data: D) -> Hash

Provided Methods§

Source

fn applies_to_key(&self) -> bool

Source

fn applies_to_tree_name(&self) -> bool

Source

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>,

Source

fn decrypt<T: Into<IVec>>(&self, data: T, mode: EncryptionMode) -> Result<IVec>

Source

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>,

Source

fn decrypt_key<T: Into<IVec>>(&self, data: T) -> Result<IVec>

Source

fn encrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec>

Source

fn decrypt_value<T: Into<IVec>>(&self, data: T) -> Result<IVec>

Source

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>,

Source

fn decrypt_tree_name<T: Into<IVec>>(&self, data: T) -> Result<IVec>

Source

fn decrypt_value_result<E>( &self, res: Result<Option<IVec>, E>, ) -> Result<Option<IVec>, E>
where E: From<Error>,

Source

fn decrypt_key_value_result( &self, res: Result<Option<(IVec, IVec)>>, ) -> Result<Option<(IVec, IVec)>>

Source

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.

Implementors§

Source§

impl<C, S> Encryption for EncryptionCipher<C, S>

Source§

impl<T> Encryption for T
where T: Deref, T::Target: Encryption,