Struct block_padding::ZeroPadding
source · [−]pub struct ZeroPadding;
Expand description
Pad block with zeros.
use block_padding::{ZeroPadding, Padding};
use generic_array::{GenericArray, typenum::U8};
let msg = b"test";
let pos = msg.len();
let mut block: GenericArray::<u8, U8> = [0xff; 8].into();
block[..pos].copy_from_slice(msg);
ZeroPadding::pad(&mut block, pos);
assert_eq!(&block[..], b"test\x00\x00\x00\x00");
let res = ZeroPadding::unpad(&mut block).unwrap();
assert_eq!(res, msg);
Note that zero padding is not reversible for messages which end with one or more zero bytes.
Trait Implementations
sourceimpl Clone for ZeroPadding
impl Clone for ZeroPadding
sourcefn clone(&self) -> ZeroPadding
fn clone(&self) -> ZeroPadding
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ZeroPadding
impl Debug for ZeroPadding
sourceimpl<B: ArrayLength<u8>> Padding<B> for ZeroPadding
impl<B: ArrayLength<u8>> Padding<B> for ZeroPadding
impl Copy for ZeroPadding
Auto Trait Implementations
impl RefUnwindSafe for ZeroPadding
impl Send for ZeroPadding
impl Sync for ZeroPadding
impl Unpin for ZeroPadding
impl UnwindSafe for ZeroPadding
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more