Overview | Package | Class | Tree | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## gnu.crypto.pad
Class PKCS7

    java.lang.Object
      |
      +--gnu.crypto.pad.BasePad
            |
            +--gnu.crypto.pad.PKCS7

All Implemented Interfaces:
  IPad

public final class PKCS7
extends BasePad

The implementation of the PKCS7 padding algorithm.

This algorithm is described for 8-byte blocks in [RFC-1423] and extended to block sizes of up to 256 bytes in [PKCS-7].

References:
RFC-1423: Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers.
IETF. [PKCS-7]PKCS #7: Cryptographic Message Syntax Standard - An RSA Laboratories Technical Note.
RSA Security.

Version:
  $Revision: 1.3 $

Fields inherited from class gnu.crypto.pad.BasePad
`blockSize, name`

Constructor Summary
`(package private)` | `PKCS7()` Trivial package-private constructor for use by the Factory class.

Method Summary
`byte[]` | `pad(byte[] in, int offset, int length)` Returns the byte sequence that should be appended to the designated input.
`void` | `setup()`
`int` | `unpad(byte[] in, int offset, int length)` Returns the number of bytes to discard from a designated input buffer.

Methods inherited from class gnu.crypto.pad.BasePad
`init, name, reset, selfTest`

Methods inherited from class java.lang.Object
`, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PKCS7

    PKCS7()

  Trivial package-private constructor for use by the Factory class.

  See Also:
    `PadFactory`

Method Detail

### setup

    public void setup()

  Overrides:
    `setup` in class `BasePad`

### pad

    public byte[] pad(byte[] in,
                      int offset,
                      int length)

  Description copied from interface: `IPad`
  Returns the byte sequence that should be appended to the designated input.
  Overrides:
    `pad` in class `BasePad`
  Following copied from interface: `gnu.crypto.pad.IPad`
  Parameters:
    `in` - the input buffer containing the bytes to pad.
    `offset` - the starting index of meaningful data in in.
    `length` - the number of meaningful bytes in in.
  Returns:
    the possibly 0-byte long sequence to be appended to the designated input.

### unpad

    public int unpad(byte[] in,
                     int offset,
                     int length)
              throws WrongPaddingException

  Description copied from interface: `IPad`
  Returns the number of bytes to discard from a designated input buffer.
  Overrides:
    `unpad` in class `BasePad`
  Following copied from interface: `gnu.crypto.pad.IPad`
  Parameters:
    `in` - the input buffer containing the bytes to unpad.
    `offset` - the starting index of meaningful data in in.
    `length` - the number of meaningful bytes in in.
  Returns:
    the number of bytes to discard, to the left of index position `offset + length` in in. In other words, if the return value of a successful invocation of this method is `result`, then the unpadded byte sequence will be `offset + length - result` bytes in in, starting from index position `offset`.
  Throws:
    `WrongPaddingException` - if the data is not terminated with the expected padding bytes.

Overview | Package | Class | Tree | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright ©2001-2002 Free Software Foundation, Inc.. All Rights Reserved.