pub struct NCKey<T: BoxProvider> {
pub key: NonContiguousMemory,
/* private fields */
}Expand description
A key to the crypto box. NCKey is stored on the heap which makes it easier to erase. Makes use of the
NonContiguousMemory type to protect the data.
Fields§
§key: NonContiguousMemorythe guarded raw bytes that make up the key
Implementations§
Source§impl<T: BoxProvider> NCKey<T>
impl<T: BoxProvider> NCKey<T>
Sourcepub fn load(key: Zeroizing<Vec<u8>>) -> Option<Self>
pub fn load(key: Zeroizing<Vec<u8>>) -> Option<Self>
attempts to load a key from inputted data
Return None if the key length doesn’t match BoxProvider::box_key_len.
pub fn encrypt_key<AD: AsRef<[u8]>>( &self, data: &Key<T>, ad: AD, ) -> Result<Vec<u8>, T::Error>
pub fn decrypt_key<AD: AsRef<[u8]>>( &self, data: Vec<u8>, ad: AD, ) -> Result<Key<T>, DecryptError<T::Error>>
Trait Implementations§
Source§impl<T: BoxProvider> Clone for NCKey<T>
impl<T: BoxProvider> Clone for NCKey<T>
Source§impl<T: BoxProvider> Debug for NCKey<T>
impl<T: BoxProvider> Debug for NCKey<T>
Source§impl<'de, T: BoxProvider> Deserialize<'de> for NCKey<T>
impl<'de, T: BoxProvider> Deserialize<'de> for NCKey<T>
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
Source§impl<T: BoxProvider> Drop for NCKey<T>
impl<T: BoxProvider> Drop for NCKey<T>
Source§impl<T: BoxProvider> Hash for NCKey<T>
impl<T: BoxProvider> Hash for NCKey<T>
Source§impl<T: BoxProvider> Ord for NCKey<T>
impl<T: BoxProvider> Ord for NCKey<T>
Source§impl<T: BoxProvider> PartialEq for NCKey<T>
impl<T: BoxProvider> PartialEq for NCKey<T>
Source§impl<T: BoxProvider> PartialOrd for NCKey<T>
impl<T: BoxProvider> PartialOrd for NCKey<T>
Source§impl<T: BoxProvider> Serialize for NCKey<T>
impl<T: BoxProvider> Serialize for NCKey<T>
impl<T: BoxProvider> Eq for NCKey<T>
Auto Trait Implementations§
impl<T> !Freeze for NCKey<T>
impl<T> RefUnwindSafe for NCKey<T>where
T: RefUnwindSafe,
impl<T> Send for NCKey<T>where
T: Send,
impl<T> Sync for NCKey<T>where
T: Sync,
impl<T> Unpin for NCKey<T>where
T: Unpin,
impl<T> UnwindSafe for NCKey<T>where
T: UnwindSafe,
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