PaddingMode Property
The padding mode.
Data Type
EnumerationPossible Values
PKCS7 (0)Zeros (1)
None (2)
ANSIX923 (3)
ISO10126 (4)
Default Value
0Remarks
PaddingMode is used to pad the final input block to guarantee that it is the correct size required for the selected CipherMode. Each mode pads the data differently. Possible values are:
0 (pmPKCS7 - default) | The data is padded with a series of bytes that are each equal to the number of bytes used.
For instance, in the example below the data must be padded with 3 additional bytes, so each byte value will be 3.
Raw Data: AA AA AA AA AAPKCS7 Padded Data: AA AA AA AA AA 03 03 03 |
1 (pmZeros) | The data is padded with null bytes. |
2 (pmNone) | No padding will be performed. |
3 (pmANSIX923) | The ANSIX923 padding string consists of a sequence of bytes filled with zeros before the length.
For instance, in the example below the data must be padded with 3 additional bytes, so last byte value will be 3.
Raw Data: AA AA AA AA AAANSIX923 padding Data: AA AA AA AA AA 00 00 03 |
4 (pmISO10126) | The ISO10126 padding string consists of random data before the length.
For instance, in the example below the data must be padded with 3 additional bytes, so last byte value will be 3.
Raw Data: AA AA AA AA AAISO10126 padding Data: AA AA AA AA AA F8 EF 03 |
When decrypting the PaddingMode must match the value used when the data was encrypted.
Note: When using a value of 2 (pmNone), unless the length of input is an exact multiple of the cipher's input BlockSize, the final block of plaintext may be lost.