Pad block with zeros.
use block_padding::{ZeroPadding, Padding};
let msg = b"test";
let n = msg.len();
let mut buffer = [0xff; 16];
buffer[..n].copy_from_slice(msg);
let padded_msg = ZeroPadding::pad(&mut buffer, n, 8).unwrap();
assert_eq!(padded_msg, b"test\x00\x00\x00\x00");
assert_eq!(ZeroPadding::unpad(&padded_msg).unwrap(), msg);
let padded_msg = ZeroPadding::pad(&mut buffer, n, 2).unwrap();
assert_eq!(padded_msg, b"test");
assert_eq!(ZeroPadding::unpad(&padded_msg).unwrap(), msg);
Note that zero padding may not be reversible if the original message ends
with one or more zero bytes.
Pads block
filled with data up to pos
. Read more
Pads message with length pos
in the provided buffer. Read more
Unpad given data
by truncating it according to the used padding. In case of the malformed padding will return UnpadError
Read more