pub fn de_ansix923_pkcs7(input_vec: &mut Vec<u8>) -> usize
Expand description

Remove ANSIX923 or PKCS #7 padding

  • parameter input_vec: the vec that contains original data.
  • return : the removed bytes’ length.

Attention! Please be sure the parameter ends with exactly the ANSIX923 or PKCS #7 padding string. This function does NOT perform checks.

Examples

use aes_frast::padding_128bit::de_ansix923_pkcs7;

let mut ansix923 = vec![0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0x00u8,
                        0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x09u8];

let padding_ansix923_length = de_ansix923_pkcs7(&mut ansix923);

let mut pkcs7 = vec![0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0xFFu8, 0x09u8,
                     0x09u8, 0x09u8, 0x09u8, 0x09u8, 0x09u8, 0x09u8, 0x09u8, 0x09u8];

let padding_pkcs7_length = de_ansix923_pkcs7(&mut pkcs7);

let expected = vec![0xFFu8; 7];
assert_eq!(padding_ansix923_length, 9);
assert_eq!(padding_pkcs7_length, 9);
assert_eq!(ansix923, expected);
assert_eq!(pkcs7, expected);