Enum block_padding::AnsiX923
source · [−]pub enum AnsiX923 {}Expand description
Pad block with zeros except the last byte which will be set to the number bytes.
use block_padding::{AnsiX923, Padding};
let msg = b"test";
let n = msg.len();
let mut buffer = [0xff; 16];
buffer[..n].copy_from_slice(msg);
let padded_msg = AnsiX923::pad(&mut buffer, n, 8).unwrap();
assert_eq!(padded_msg, b"test\x00\x00\x00\x04");
assert_eq!(AnsiX923::unpad(&padded_msg).unwrap(), msg);let padded_msg = AnsiX923::pad(&mut buffer, n, 2).unwrap();
assert_eq!(padded_msg, b"test\x00\x02");
assert_eq!(AnsiX923::unpad(&padded_msg).unwrap(), msg);assert!(AnsiX923::unpad(&buffer).is_err());In addition to conditions stated in the Padding trait documentation,
pad_block will return PadError if block.len() > 255, and in case of
pad if block_size > 255.
Trait Implementations
sourceimpl Padding for AnsiX923
impl Padding for AnsiX923
sourcefn pad_block(block: &mut [u8], pos: usize) -> Result<(), PadError>
fn pad_block(block: &mut [u8], pos: usize) -> Result<(), PadError>
Pads block filled with data up to pos. Read more
Auto Trait Implementations
impl RefUnwindSafe for AnsiX923
impl Send for AnsiX923
impl Sync for AnsiX923
impl Unpin for AnsiX923
impl UnwindSafe for AnsiX923
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
