xjava.security
Interface Padding
- OneAndZeroes, PaddingScheme, PKCS5, PKCS7
Padding is the interface defined by JavaSoft's JCE to be implemented
by classes that provide a general-purpose padding scheme. It is not
used in IJCE, for several reasons:
- Interfaces are more difficult to extend with new functionality
than abstract classes (for an abstract class, new methods can
be given default implementations that are defined in terms of
existing methods).
- An abstract class can enforce that SPI methods are called
with valid arguments; an interface cannot.
- The Padding interface does not support arbitrary block sizes. Each
padding scheme must be defined for a specific block size.
- The documentation for Padding was not clear enough to re-implement
accurately.
- The Security.getImpl method in JavaSoft's implementation of
JCE does not work correctly for interfaces.
This interface is included in IJCE only so that classes that use it
will not fail with an unrecoverable linking error. The abstract class
PaddingScheme should be used instead.
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.2 $
java.security.PaddingScheme
int | pad(in[] , int off, int len) - Pads a given array of bytes.
|
int | padLength(int len) - Returns the absolute value of the increase in size that a
padding operation would cause on input data of a given length.
|
String | paddingScheme() - Returns the standard name of the padding scheme implemented.
|
int | unpad(in[] , int off, int len) - Given the specified subarray of bytes that includes padding
bytes, returns the index indicating where padding starts.
|
pad
public int pad(in[] ,
int off,
int len)
Pads a given array of bytes. The padded bytes are written to the
same buffer that is used for input ("in").
off
- the offset into the in
buffer of the
first byte in the group of bytes to be padded.len
- the number of bytes from the in
buffer,
starting at off
, that need to be padded.
- the number of padding bytes written.
java.security.Cipher.blockSize
padLength
public int padLength(int len)
Returns the absolute value of the increase in size that a
padding operation would cause on input data of a given length.
len
- the length of the data which is to be padded.
- the absolute value of the increase in size that a padding
operation would cause on input data of the specified length.
paddingScheme
public String paddingScheme()
- the standard name of the padding scheme, such as "PKCS#5".
unpad
public int unpad(in[] ,
int off,
int len)
Given the specified subarray of bytes that includes padding
bytes, returns the index indicating where padding starts.
off
- the starting offset into the in
buffer of
the bytes to be checked to determine where padding starts.len
- the number of bytes from the in
buffer
to check, starting at offset off
.
- the index into the
in
buffer indicating
where the padding starts.