1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/// XORs a u8 slice
pub fn xor_byte_range(target: &mut [u8], xor: &[u8]) {
// Make sure the target slice size is matching or bigger than the xor slice size.
std::debug_assert!(
target.len() <= xor.len(),
"Target size is bigger than the XOR slice size. Target: {}, XOR: {}.",
target.len(),
xor.len()
);
target
.iter_mut()
.zip(xor.iter())
.for_each(|(x1, x2)| *x1 ^= *x2);
}