pub trait Zeroize {
// Required method
fn zeroize(&mut self);
}
Expand description
Trait to zeroize a memory buffer. Trait for securely erasing values from memory.
Required Methods§
Implementations on Foreign Types§
source§impl Zeroize for CompressedEdwardsY
impl Zeroize for CompressedEdwardsY
source§impl Zeroize for EdwardsPoint
impl Zeroize for EdwardsPoint
source§impl<A, B, C, D> Zeroize for (A, B, C, D)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
impl<A, B, C, D> Zeroize for (A, B, C, D)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize,
source§impl<A, B, C, D, E> Zeroize for (A, B, C, D, E)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
impl<A, B, C, D, E> Zeroize for (A, B, C, D, E)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize,
source§impl<A, B, C, D, E, F> Zeroize for (A, B, C, D, E, F)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
F: Zeroize,
impl<A, B, C, D, E, F> Zeroize for (A, B, C, D, E, F)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize, F: Zeroize,
source§impl<A, B, C, D, E, F, G> Zeroize for (A, B, C, D, E, F, G)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
F: Zeroize,
G: Zeroize,
impl<A, B, C, D, E, F, G> Zeroize for (A, B, C, D, E, F, G)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize, F: Zeroize, G: Zeroize,
source§impl<A, B, C, D, E, F, G, H> Zeroize for (A, B, C, D, E, F, G, H)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
F: Zeroize,
G: Zeroize,
H: Zeroize,
impl<A, B, C, D, E, F, G, H> Zeroize for (A, B, C, D, E, F, G, H)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize, F: Zeroize, G: Zeroize, H: Zeroize,
source§impl<A, B, C, D, E, F, G, H, I> Zeroize for (A, B, C, D, E, F, G, H, I)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
F: Zeroize,
G: Zeroize,
H: Zeroize,
I: Zeroize,
impl<A, B, C, D, E, F, G, H, I> Zeroize for (A, B, C, D, E, F, G, H, I)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize, F: Zeroize, G: Zeroize, H: Zeroize, I: Zeroize,
source§impl<A, B, C, D, E, F, G, H, I, J> Zeroize for (A, B, C, D, E, F, G, H, I, J)where
A: Zeroize,
B: Zeroize,
C: Zeroize,
D: Zeroize,
E: Zeroize,
F: Zeroize,
G: Zeroize,
H: Zeroize,
I: Zeroize,
J: Zeroize,
impl<A, B, C, D, E, F, G, H, I, J> Zeroize for (A, B, C, D, E, F, G, H, I, J)where A: Zeroize, B: Zeroize, C: Zeroize, D: Zeroize, E: Zeroize, F: Zeroize, G: Zeroize, H: Zeroize, I: Zeroize, J: Zeroize,
source§impl<Z> Zeroize for [Z]where
Z: DefaultIsZeroes,
impl<Z> Zeroize for [Z]where Z: DefaultIsZeroes,
Impl Zeroize
on slices of types that can be zeroized with Default
.
This impl can eventually be optimized using an memset intrinsic,
such as core::intrinsics::volatile_set_memory
. For that reason the
blanket impl on slices is bounded by DefaultIsZeroes
.
To zeroize a mut slice of Z: Zeroize
which does not impl
DefaultIsZeroes
, call iter_mut().zeroize()
.
source§impl<Z> Zeroize for PhantomData<Z>
impl<Z> Zeroize for PhantomData<Z>
PhantomData
is always zero sized so provide a Zeroize
implementation.
source§impl<Z> Zeroize for MaybeUninit<Z>
impl<Z> Zeroize for MaybeUninit<Z>
Impl Zeroize
on MaybeUninit
types.
This fills the memory with zeroes.
Note that this ignore invariants that Z
might have, because
MaybeUninit
removes all invariants.
source§impl<Z> Zeroize for [MaybeUninit<Z>]
impl<Z> Zeroize for [MaybeUninit<Z>]
Impl Zeroize
on slices of MaybeUninit
types.
This impl can eventually be optimized using an memset intrinsic,
such as core::intrinsics::volatile_set_memory
.
This fills the slice with zeroes.
Note that this ignore invariants that Z
might have, because
MaybeUninit
removes all invariants.