pub struct KeyMaterial(/* private fields */);Expand description
The secret bytes behind one encrypted file: the AES-256 file key, the
four revision-6 salts (ISO 32000-2 §7.6.4.4.7, algorithms 8 and 9), and
four random bytes for /Perms (Algorithm 10).
The bytes come from the operating system’s cryptographic generator and
from nowhere else. There is no constructor taking a seed, a slice or a
byte array, so a caller cannot substitute a derived sequence: an
unguessable file key is a property of the type, not of the call site.
Neither Clone nor Debug, so the bytes are neither duplicated across
two files nor printed. Drop wipes them.
Implementations§
Source§impl KeyMaterial
impl KeyMaterial
Trait Implementations§
Source§impl Drop for KeyMaterial
impl Drop for KeyMaterial
Auto Trait Implementations§
impl Freeze for KeyMaterial
impl RefUnwindSafe for KeyMaterial
impl Send for KeyMaterial
impl Sync for KeyMaterial
impl Unpin for KeyMaterial
impl UnsafeUnpin for KeyMaterial
impl UnwindSafe for KeyMaterial
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