Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | 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.

Field Summary

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

Method Summary
`byte[]` | `pad(byte[] in, int offset, int length)` Returns the byte sequence that should be appended to the designated input.
`void` | `setup()` If any additional checks or resource setup must be done by the subclass, then this is the hook for it.
`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`

Method Detail

### setup

    public void setup()

  Description copied from class: `BasePad`

  If any additional checks or resource setup must be done by the subclass, then this is the hook for it. This method will be called before the `BasePad.init(int)` method returns.

  Specified by:
    `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.

  Specified by:
    `pad` in interface `IPad`
  Specified by:
    `pad` in class `BasePad`
  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.

  Specified by:
    `unpad` in interface `IPad`
  Specified by:
    `unpad` in class `BasePad`
  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 | Serialized | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.