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
impl Copy for AnsiX923
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