Enum block_padding::Iso7816
source · [−]pub enum Iso7816 {}
Expand description
Pad block with byte sequence \x80 00...00 00
.
use block_padding::{Iso7816, Padding};
let msg = b"test";
let n = msg.len();
let mut buffer = [0xff; 16];
buffer[..n].copy_from_slice(msg);
let padded_msg = Iso7816::pad(&mut buffer, n, 8).unwrap();
assert_eq!(padded_msg, b"test\x80\x00\x00\x00");
assert_eq!(Iso7816::unpad(&padded_msg).unwrap(), msg);
let padded_msg = Iso7816::pad(&mut buffer, n, 2).unwrap();
assert_eq!(padded_msg, b"test\x80\x00");
assert_eq!(Iso7816::unpad(&padded_msg).unwrap(), msg);
Trait Implementations
sourceimpl Padding for Iso7816
impl Padding for Iso7816
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 Iso7816
Auto Trait Implementations
impl RefUnwindSafe for Iso7816
impl Send for Iso7816
impl Sync for Iso7816
impl Unpin for Iso7816
impl UnwindSafe for Iso7816
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