diff options
author | Jesse Luehrs <doy@tozt.net> | 2015-03-15 20:27:45 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2015-03-15 20:27:45 -0400 |
commit | 01dc46bb5fd12b1fe21e1ea45a034b1a14af6243 (patch) | |
tree | c95a53456ad2d96a586b263fa031ac15a026385c /src/primitives.rs | |
parent | 171dbac2f26b1561b62058c1b952eaa7d7604a90 (diff) | |
download | matasano-01dc46bb5fd12b1fe21e1ea45a034b1a14af6243.tar.gz matasano-01dc46bb5fd12b1fe21e1ea45a034b1a14af6243.zip |
handle padding properly
Diffstat (limited to 'src/primitives.rs')
-rw-r--r-- | src/primitives.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/primitives.rs b/src/primitives.rs index b0d7116..76a2024 100644 --- a/src/primitives.rs +++ b/src/primitives.rs @@ -32,6 +32,11 @@ pub fn pad_pkcs7 (block: &[u8], blocksize: u8) -> Vec<u8> { .collect(); } +pub fn unpad_pkcs7 (block: &[u8]) -> &[u8] { + let padding_byte = block[block.len() - 1]; + return &block[..(block.len() - padding_byte as usize)]; +} + fn count_bits (bytes: &[u8]) -> u64 { bytes.iter().map(|&c| { count_bits_byte(c) }).fold(0, |acc, n| acc + n) } |