Trait zeroize::Zeroize[][src]

pub trait Zeroize {
    fn zeroize(&mut self);
}

Trait for securely erasing types from memory

Required methods

fn zeroize(&mut self)[src]

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.

Loading content...

Implementations on Foreign Types

impl Zeroize for __m128[src]

impl Zeroize for __m128d[src]

impl Zeroize for __m128i[src]

impl<'a, Z> Zeroize for IterMut<'a, Z> where
    Z: Zeroize
[src]

impl<Z> Zeroize for Option<Z> where
    Z: Zeroize
[src]

impl<Z> Zeroize for Vec<Z> where
    Z: Zeroize
[src]

fn zeroize(&mut self)[src]

“Best effort” zeroization for Vec.

Ensures the entire capacity of the Vec is zeroed. Cannot ensure that previous reallocations did not leave values on the heap.

impl Zeroize for String[src]

Loading content...

Implementors

impl<Z> Zeroize for Zeroizing<Z> where
    Z: Zeroize
[src]

impl<Z> Zeroize for Z where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 1] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 2] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 3] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 4] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 5] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 6] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 7] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 8] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 9] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 10] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 11] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 12] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 13] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 14] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 15] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 16] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 17] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 18] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 19] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 20] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 21] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 22] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 23] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 24] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 25] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 26] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 27] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 28] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 29] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 30] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 31] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 32] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 33] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 34] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 35] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 36] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 37] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 38] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 39] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 40] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 41] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 42] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 43] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 44] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 45] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 46] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 47] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 48] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 49] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 50] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 51] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 52] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 53] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 54] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 55] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 56] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 57] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 58] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 59] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 60] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 61] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 62] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 63] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z; 64] where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z] where
    Z: DefaultIsZeroes
[src]

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().

Loading content...