pub struct EncryptionKeyRing { /* private fields */ }Expand description
Keyring used for encryption, decryption, and key rotation.
Implementations§
Source§impl EncryptionKeyRing
impl EncryptionKeyRing
Sourcepub fn new(active_key_id: &str, keys: HashMap<String, [u8; 32]>) -> Self
pub fn new(active_key_id: &str, keys: HashMap<String, [u8; 32]>) -> Self
Creates a keyring with an active key identifier.
Sourcepub fn encrypt_value(
&self,
config: &EncryptedFieldConfig,
plaintext: &str,
) -> Result<StoredEncryptedValue, EncryptionError>
pub fn encrypt_value( &self, config: &EncryptedFieldConfig, plaintext: &str, ) -> Result<StoredEncryptedValue, EncryptionError>
Encrypts plaintext according to the provided field configuration.
Sourcepub fn decrypt_value(
&self,
value: &StoredEncryptedValue,
) -> Result<String, EncryptionError>
pub fn decrypt_value( &self, value: &StoredEncryptedValue, ) -> Result<String, EncryptionError>
Decrypts an encrypted value, trying the recorded key first and then rotated keys.
Sourcepub fn equality_tokens(
&self,
plaintext: &str,
) -> Result<Vec<String>, EncryptionError>
pub fn equality_tokens( &self, plaintext: &str, ) -> Result<Vec<String>, EncryptionError>
Returns equality tokens for every configured key, newest key first.
Trait Implementations§
Source§impl Clone for EncryptionKeyRing
impl Clone for EncryptionKeyRing
Source§fn clone(&self) -> EncryptionKeyRing
fn clone(&self) -> EncryptionKeyRing
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 moreAuto Trait Implementations§
impl Freeze for EncryptionKeyRing
impl RefUnwindSafe for EncryptionKeyRing
impl Send for EncryptionKeyRing
impl Sync for EncryptionKeyRing
impl Unpin for EncryptionKeyRing
impl UnsafeUnpin for EncryptionKeyRing
impl UnwindSafe for EncryptionKeyRing
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 more