pub struct ZeroPadding;Expand description
Pad block with zeros.
use block_padding::{ZeroPadding, Padding};
use block_padding::array::{Array, typenum::U8};
let msg = b"test";
let pos = msg.len();
let mut block: Array::<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§
Source§impl Clone for ZeroPadding
impl Clone for ZeroPadding
Source§fn clone(&self) -> ZeroPadding
fn clone(&self) -> ZeroPadding
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ZeroPadding
impl Debug for ZeroPadding
Source§impl Padding for ZeroPadding
impl Padding for ZeroPadding
Source§fn raw_pad(block: &mut [u8], pos: usize)
fn raw_pad(block: &mut [u8], pos: usize)
Pads
block filled with data up to pos (i.e the message length
stored in block is equal to pos). Read moreSource§fn pad_detached<BlockSize: ArraySize>(data: &[u8]) -> PaddedData<'_, BlockSize>
fn pad_detached<BlockSize: ArraySize>(data: &[u8]) -> PaddedData<'_, BlockSize>
Pad message and return padded tail block. Read more
Source§fn unpad_blocks<BlockSize: ArraySize>(
blocks: &[Array<u8, BlockSize>],
) -> Result<&[u8], Error>
fn unpad_blocks<BlockSize: ArraySize>( blocks: &[Array<u8, BlockSize>], ) -> Result<&[u8], Error>
Unpad data in
blocks and return unpadded byte slice. Read moreimpl Copy for ZeroPadding
Auto Trait Implementations§
impl Freeze for ZeroPadding
impl RefUnwindSafe for ZeroPadding
impl Send for ZeroPadding
impl Sync for ZeroPadding
impl Unpin for ZeroPadding
impl UnwindSafe for ZeroPadding
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