ZeroizationProbe

Trait ZeroizationProbe 

Source
pub trait ZeroizationProbe {
    // Required method
    fn is_zeroized(&self) -> bool;
}
Expand description

Trait for verifying that a value has been zeroized.

This trait allows runtime checks to verify that zeroization actually happened. Used in tests and assertions to ensure no sensitive data remains in memory.

§Example

use redoubt_zero_core::{ZeroizationProbe, FastZeroizable};

let mut value: u32 = 42;

assert!(!value.is_zeroized());

value.fast_zeroize();
assert!(value.is_zeroized());
assert_eq!(value, 0);

Required Methods§

Source

fn is_zeroized(&self) -> bool

Returns true if the value is zeroized (all bytes are 0).

This method should perform a runtime check to verify that the value has been properly zeroized.

Implementations on Foreign Types§

Source§

impl ZeroizationProbe for bool

Implements ZeroizationProbe for bool (false is zeroized).

Source§

impl ZeroizationProbe for char

Implements ZeroizationProbe for char (null char is zeroized).

Source§

impl ZeroizationProbe for f32

Source§

impl ZeroizationProbe for f64

Source§

impl ZeroizationProbe for i8

Source§

impl ZeroizationProbe for i16

Source§

impl ZeroizationProbe for i32

Source§

impl ZeroizationProbe for i64

Source§

impl ZeroizationProbe for i128

Source§

impl ZeroizationProbe for isize

Source§

impl ZeroizationProbe for u8

Source§

impl ZeroizationProbe for u16

Source§

impl ZeroizationProbe for u32

Source§

impl ZeroizationProbe for u64

Source§

impl ZeroizationProbe for u128

Source§

impl ZeroizationProbe for ()

Unit type is trivially zeroized (no data to zeroize).

Source§

impl ZeroizationProbe for usize

Source§

impl ZeroizationProbe for String

Source§

impl ZeroizationProbe for AtomicBool

Source§

impl ZeroizationProbe for AtomicI8

Source§

impl ZeroizationProbe for AtomicI16

Source§

impl ZeroizationProbe for AtomicI32

Source§

impl ZeroizationProbe for AtomicI64

Source§

impl ZeroizationProbe for AtomicIsize

Source§

impl ZeroizationProbe for AtomicU8

Source§

impl ZeroizationProbe for AtomicU16

Source§

impl ZeroizationProbe for AtomicU32

Source§

impl ZeroizationProbe for AtomicU64

Source§

impl ZeroizationProbe for AtomicUsize

Source§

impl<T> ZeroizationProbe for *const T

Source§

impl<T> ZeroizationProbe for *mut T

Source§

impl<T> ZeroizationProbe for [T]

Source§

impl<T> ZeroizationProbe for Vec<T>

Source§

fn is_zeroized(&self) -> bool

Returns true if all elements AND spare capacity are zeroed.

§Important

This is only meaningful after calling fast_zeroize(). A freshly allocated Vec may have uninitialized memory in spare capacity, causing this to return false even if no sensitive data was ever stored.

Source§

impl<T, const N: usize> ZeroizationProbe for [T; N]

Source§

impl<T: ZeroizationProbe> ZeroizationProbe for Option<T>

Source§

impl<T: ZeroizationProbe> ZeroizationProbe for Box<T>

Implementors§