pub fn decrypt(data: &mut [u8], key: &[u8]) {
    check_sizes_and_alignment(data, key);
    // # SAFETY:
    // `data` is of the proper size and alignment as verified by `check_sizes_and_alignment`
    let data_aligned: &mut [u32] =
        unsafe { core::slice::from_raw_parts_mut(data.as_mut_ptr() as *mut u32, data.len() / 4) };

    // # SAFETY:
    // `key` is of the proper size and alignment as verified by `check_sizes_and_alignment`
    let key_aligned: &[u32] =
        unsafe { core::slice::from_raw_parts(key.as_ptr() as *const u32, data.len() / 4) };

    decrypt_words(data_aligned, key_aligned);
}
/// Decrypt a u8 vector with XXTEA
///
/// The output isn't verified for correctness, thus additional checks needs to
/// be performed on the output.
///
/// # Arguments
///
/// * `data` - The data to be decrypted
/// * `key` - encryption key. Must be 16 bytes
///
Decrypt a u8 vector with XXTEA
The output isn't verified for correctness, thus additional checks needs to
be performed on the output.
Decrypt a u8 vector with XXTEA The output isn ' t verified for correctness thus additional checks needs to be performed on the output .
pub fn decrypt(data: &mut [u8], key: &[u8]) {
    check_sizes_and_alignment(data, key);
    // # SAFETY:
    // `data` is of the proper size and alignment as verified by `check_sizes_and_alignment`
    let data_aligned: &mut [u32] =
        unsafe { core::slice::from_raw_parts_mut(data.as_mut_ptr() as *mut u32, data.len() / 4) };
    // # SAFETY:
    // `key` is of the proper size and alignment as verified by `check_sizes_and_alignment`
    let key_aligned: &[u32] =
        unsafe { core::slice::from_raw_parts(key.as_ptr() as *const u32, data.len() / 4) };
    decrypt_words(data_aligned, key_aligned);
}
pub fn decrypt ( data : & mut [ u8 ] , key : & [ u8 ] ) { check_sizes_and_alignment ( data , key ) ; // # SAFETY: // `data` is of the proper size and alignment as verified by `check_sizes_and_alignment` let data_aligned : & mut [ u32 ] = unsafe { core :: slice :: from_raw_parts_mut ( data . as_mut_ptr ( ) as * mut u32 , data . len ( ) / 4 ) } ; // # SAFETY: // `key` is of the proper size and alignment as verified by `check_sizes_and_alignment` let key_aligned : & [ u32 ] = unsafe { core :: slice :: from_raw_parts ( key . as_ptr ( ) as * const u32 , data . len ( ) / 4 ) } ; decrypt_words ( data_aligned , key_aligned ) ; }
Decrypt a u8 vector with XXTEA
The output isn't verified for correctness, thus additional checks needs to
be performed on the output.
Decrypt a u8 vector with XXTEA The output isn ' t verified for correctness thus additional checks needs to be performed on the output .
data
&mut [u8]
key
&[u8]
data
&mut [u8]
key
&[u8]