pub struct SecureKey { /* private fields */ }Expand description
A secure encryption key that zeroes its memory on drop.
The Debug impl is safe to expose: the inner SensitiveBytes redacts
the key material, printing only its length.
Implementations§
Source§impl SecureKey
impl SecureKey
Sourcepub fn new(key: &[u8]) -> Result<Self>
pub fn new(key: &[u8]) -> Result<Self>
Creates a new secure key with the specified key size.
§Errors
Returns an error if the key length doesn’t match the key size requirements.
Sourcepub fn generate(key_size: AesKeySize) -> Self
pub fn generate(key_size: AesKeySize) -> Self
Generates a new random key for the specified key size.
Sourcepub fn key_size(&self) -> AesKeySize
pub fn key_size(&self) -> AesKeySize
Returns the AES key size.
Trait Implementations§
Source§impl From<SecureKey> for StandardKeyMetadata
impl From<SecureKey> for StandardKeyMetadata
Source§impl TryFrom<SensitiveBytes> for SecureKey
impl TryFrom<SensitiveBytes> for SecureKey
impl Eq for SecureKey
impl StructuralPartialEq for SecureKey
Auto Trait Implementations§
impl Freeze for SecureKey
impl RefUnwindSafe for SecureKey
impl Send for SecureKey
impl Sync for SecureKey
impl Unpin for SecureKey
impl UnsafeUnpin for SecureKey
impl UnwindSafe for SecureKey
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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