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);
Pads block filled with data up to pos. Read more
Unpad given data by truncating it according to the used padding. In case of the malformed padding will return UnpadError Read more
Pads message with length pos in the provided buffer. Read more
🔬 This is a nightly-only experimental API. (try_from)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from)
🔬 This is a nightly-only experimental API. (try_from)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static