For the latest news and information visit
The GNU Crypto project

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.

For the latest news and information visit
The GNU Crypto project

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