8 #include <botan/mode_pad.h>     9 #include <botan/exceptn.h>    10 #include <botan/internal/assert.h>    27    const size_t bytes_remaining = size - position;
    28    const byte pad_value = 
static_cast<byte>(bytes_remaining);
    31                       "Overflow in PKCS7_Padding");
    33    for(
size_t j = 0; j != size; ++j)
    42    size_t position = block[size-1];
    45    for(
size_t j = size-position; j != size-1; ++j)
    46       if(block[j] != position)
    48    return (size-position);
    56    if(size > 0 && size < 256)
    67    for(
size_t j = 0; j != size-position; ++j)
    69    block[size-position-1] = 
static_cast<byte>(size-position);
    77    size_t position = block[size-1];
    80    for(
size_t j = size-position; j != size-1; ++j)
    83    return (size-position);
    91    if(size > 0 && size < 256)
   103    for(
size_t j = 1; j != size; ++j)
   114       if(block[size-1] == 0x80)
   116       if(block[size-1] != 0x00)
 bool valid_blocksize(size_t) const
void pad(byte[], size_t, size_t) const
virtual size_t pad_bytes(size_t block_size, size_t position) const
void pad(byte[], size_t, size_t) const
bool valid_blocksize(size_t) const
#define BOTAN_ASSERT_EQUAL(value1, value2, msg)
bool valid_blocksize(size_t) const
size_t unpad(const byte[], size_t) const
void pad(byte[], size_t, size_t) const
size_t unpad(const byte[], size_t) const
virtual std::string name() const =0
size_t unpad(const byte[], size_t) const