summaryrefslogtreecommitdiffstats
path: root/src/primitives.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2015-03-15 20:27:45 -0400
committerJesse Luehrs <doy@tozt.net>2015-03-15 20:27:45 -0400
commit01dc46bb5fd12b1fe21e1ea45a034b1a14af6243 (patch)
treec95a53456ad2d96a586b263fa031ac15a026385c /src/primitives.rs
parent171dbac2f26b1561b62058c1b952eaa7d7604a90 (diff)
downloadmatasano-01dc46bb5fd12b1fe21e1ea45a034b1a14af6243.tar.gz
matasano-01dc46bb5fd12b1fe21e1ea45a034b1a14af6243.zip
handle padding properly
Diffstat (limited to 'src/primitives.rs')
-rw-r--r--src/primitives.rs5
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)
}