MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/share/javadoc/cryptix-3.2.0/xjava/security/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/javadoc/cryptix-3.2.0/xjava/security/PaddingScheme.html
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>PaddingScheme (cryptix JavaDoc)</title><script src="../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="xjava.security.PaddingScheme class"/><meta name="keywords" content="blockSize"/><meta name="keywords" content="getInstance()"/><meta name="keywords" content="getAlgorithms()"/><meta name="keywords" content="getAlgorithm()"/><meta name="keywords" content="getBlockSize()"/><meta name="keywords" content="pad()"/><meta name="keywords" content="padLength()"/><meta name="keywords" content="unpad()"/><meta name="keywords" content="paddingScheme()"/><meta name="keywords" content="setParameter()"/><meta name="keywords" content="getParameter()"/><meta name="keywords" content="clone()"/><meta name="keywords" content="toString()"/><meta name="keywords" content="engineSetBlockSize()"/><meta name="keywords" content="enginePad()"/><meta name="keywords" content="engineUnpad()"/><meta name="keywords" content="engineIsValidBlockSize()"/><meta name="keywords" content="engineSetParameter()"/><meta name="keywords" content="engineGetParameter()"/><link rel="stylesheet" type="text/css" href="../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../xjava/security/Padding.html">Prev Class</a> | <a href="../../xjava/security/Parameterized.html">Next Class</a></td><td class="navi"><a href="../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="PaddingScheme.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | <a href="#summary-methods">Method</a> | <a href="#summary-constructors">Constr</a></td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | <a href="#detail-methods">Method</a> | <a href="#detail-constructors">Constr</a></td></tr></table><div class="class title outer"><h3 class="class title-package">xjava.security</h3><h1 class="class title-class">Class PaddingScheme</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code><a href="../../xjava/security/IJCE_Traceable.html">xjava.security.IJCE_Traceable</a></code></li><li><ul class="inheritance 2"><li class="inheritance 2"><code>xjava.security.PaddingScheme</code></li><li></li></ul></li></ul></li></ul></div><dl class="class knownimplementing"><dt class="header"><b>Implemented Interfaces:</b></dt><dd class="item"><a href="../../xjava/security/Padding.html" title="Interface in xjava.security">Padding</a>, <a href="../../xjava/security/Parameterized.html" title="Interface in xjava.security">Parameterized</a></dd></dl><dl class="class subclasses"><dt class="class subclasses header"><b>Known Direct Subclasses:</b></dt><dd class="class subclasses header"><a href="../../cryptix/provider/padding/OneAndZeroes.html" title="Class in cryptix.provider.padding">OneAndZeroes</a>, <a href="../../cryptix/provider/padding/PKCS5.html" title="Class in cryptix.provider.padding">PKCS5</a>, <a href="../../cryptix/provider/padding/PKCS7.html" title="Class in cryptix.provider.padding">PKCS7</a></dd></b></dt></dl><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public abstract class <b class="class synopsis name">PaddingScheme</b></code></div><div class="class synopsis superclass"><code>extends <a href="../../xjava/security/IJCE_Traceable.html" title="Class in xjava.security">IJCE_Traceable</a></code></div><div class="class synopsis implements"><code>implements <a href="../../xjava/security/Parameterized.html" title="Interface in xjava.security">Parameterized</a>, <a href="../../xjava/security/Padding.html" title="Interface in xjava.security">Padding</a></code></div></div><hr/><div class="class description"> This class is extended by classes that provide a general-purpose
 padding scheme, such as the ones described in PKCS #5 or in RFC 1423
 (PEM).
 <p/>
 For simplicity, an assumption is made that padding schemes always
 extend the plaintext to the next block boundary. That is, the input
 to the padding algorithm always has a length between 0 and
 <code>blockSize</code>-1, and the output always has length
 <code>blockSize</code>.
 <p/>
 <strong><a href="../guide/ijce/JCEDifferences.html">This class
 is not supported in JavaSoft's version of JCE.</a></strong>
 <p/>
 <b>Copyright</b> &copy; 1997
 <a href="http://www.systemics.com/">Systemics Ltd</a> on behalf of the
 <a href="http://www.systemics.com/docs/cryptix/">Cryptix Development Team</a>.
 <br/>All rights reserved.
 <p/>
 <b>$Revision: 1.8 $</b>
</div><div class="taglet"><dl class="tag list"><dt class="tag section header"><b>Authors:</b></dt><dd class="tag item">David Hopwood</dd><dd class="tag item">Raif S. Naffah</dd></dl></div><div class="taglet"><dl class="tag list"><dt class="tag section header"><b>Since:</b></dt><dd>IJCE 1.0.1</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected  int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#blockSize">blockSize</a></code></dt></dl></td></tr></table></dd></dl><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table sub header"><td colspan="2"><h3 class="table sub header">Fields inherited from class xjava.security.<a href="../../xjava/security/IJCE_Traceable.html" title="Class in xjava.security">IJCE_Traceable</a></h3></td></tr><tr><td class="inherited"><a href="../../xjava/security/IJCE_Traceable.html#tracing"><code class="member">tracing</code></a></td></tr></table></dd></dl><a name="summary-constructors" id="summary-constructors"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Constructor Summary</h2></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#PaddingScheme(String)">PaddingScheme</a>(String&nbsp;algorithm)</code></dt><dd class="description"> Constructor for a PaddingScheme.</dd></dl></td></tr></table></dd></dl><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis"> Object</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#clone()">clone</a>()</code></dt><dd class="description"> Returns a clone of this cipher.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected  Object</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#engineGetParameter(String)">engineGetParameter</a>(String&nbsp;param)</code></dt><dd class="description"> <b>SPI</b>: Gets the value of the specified algorithm parameter.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected  boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#engineIsValidBlockSize(int)">engineIsValidBlockSize</a>(int&nbsp;size)</code></dt><dd class="description"> <b>SPI</b>: Returns true if <i>size</i> is a valid block size (in
 bytes) for this scheme.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected abstract int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#enginePad(byte[],int,int)">enginePad</a>(byte[]&nbsp;in, int&nbsp;offset, int&nbsp;length)</code></dt><dd class="description"> <b>SPI</b>: Pads a single incomplete block.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected  void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#engineSetBlockSize(int)">engineSetBlockSize</a>(int&nbsp;size)</code></dt><dd class="description"> Sets the <code>blockSize</code> variable for this instance.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected  void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#engineSetParameter(String,Object)">engineSetParameter</a>(String&nbsp;param, Object&nbsp;value)</code></dt><dd class="description"> <b>SPI</b>: Sets the specified algorithm parameter to the specified
 value.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected abstract int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#engineUnpad(byte[],int,int)">engineUnpad</a>(byte[]&nbsp;in, int&nbsp;offset, int&nbsp;length)</code></dt><dd class="description"> <b>SPI</b>: Given the specified subarray of bytes that includes
 padding bytes, returns the index indicating where padding starts.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getAlgorithm()">getAlgorithm</a>()</code></dt><dd class="description"> Returns the standard name of the padding scheme implemented.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getAlgorithms()">getAlgorithms</a>()</code></dt><dd class="description"> Gets the standard names of all PaddingSchemes implemented by any
 installed provider.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getAlgorithms(Provider)">getAlgorithms</a>(Provider&nbsp;provider)</code></dt><dd class="description"> Gets the standard names of all PaddingSchemes implemented by a
 provider.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getBlockSize()">getBlockSize</a>()</code></dt><dd class="description">Returns the block size for this padding scheme.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static <a href="../../xjava/security/PaddingScheme.html" title="Class in xjava.security">PaddingScheme</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getInstance(String)">getInstance</a>(String&nbsp;algorithm)</code></dt><dd class="description"> Generates a PaddingScheme object that implements the algorithm
 requested, as available in the environment.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static <a href="../../xjava/security/PaddingScheme.html" title="Class in xjava.security">PaddingScheme</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getInstance(String,String)">getInstance</a>(String&nbsp;algorithm, String&nbsp;provider)</code></dt><dd class="description"> Generates a PaddingScheme object implementing the specified
 algorithm, as supplied from the specified provider, if such an
 algorithm is available from the provider.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> Object</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getParameter(String)">getParameter</a>(String&nbsp;param)</code></dt><dd class="description"> Gets the value of the specified algorithm parameter.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#pad(byte[],int,int)">pad</a>(byte[]&nbsp;in, int&nbsp;offset, int&nbsp;length)</code></dt><dd class="description"> Pads a given array of bytes.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#padLength(int)">padLength</a>(int&nbsp;length)</code></dt><dd class="description"> Returns the increase in size that a padding operation would cause on
 input data of a given length.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#paddingScheme()">paddingScheme</a>()</code></dt><dd class="description"><span class="deprecated"><b class="deprecated header">Deprecated. </b><i class="deprecated">Use getAlgorithm() instead.</i><span class="deprecated"></dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#setParameter(String,Object)">setParameter</a>(String&nbsp;param, Object&nbsp;value)</code></dt><dd class="description"> Sets the specified algorithm parameter to the specified value.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toString()">toString</a>()</code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#unpad(byte[],int,int)">unpad</a>(byte[]&nbsp;in, int&nbsp;offset, int&nbsp;length)</code></dt><dd class="description"> Given the specified subarray of bytes that includes padding bytes,
 returns the index indicating where padding starts.</dd></dl></td></tr></table></dd></dl><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table sub header"><td colspan="2"><h3 class="table sub header">Methods inherited from class xjava.security.<a href="../../xjava/security/IJCE_Traceable.html" title="Class in xjava.security">IJCE_Traceable</a></h3></td></tr><tr><td class="inherited"><a href="../../xjava/security/IJCE_Traceable.html#disableTracing()" title="disableTracing()"><code class="member">disableTracing</code></a>, <a href="../../xjava/security/IJCE_Traceable.html#enableTracing(PrintWriter)" title="enableTracing(PrintWriter)"><code class="member">enableTracing</code></a>, <a href="../../xjava/security/IJCE_Traceable.html#traceMethod(String)" title="traceMethod(String)"><code class="member">traceMethod</code></a>, <a href="../../xjava/security/IJCE_Traceable.html#traceResult(String)" title="traceResult(String)"><code class="member">traceResult</code></a>, <a href="../../xjava/security/IJCE_Traceable.html#traceResult(int)" title="traceResult(int)"><code class="member">traceResult</code></a>, <a href="../../xjava/security/IJCE_Traceable.html#traceVoidMethod(String)" title="traceVoidMethod(String)"><code class="member">traceVoidMethod</code></a></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="blockSize" id="blockSize"/><div class="member detail outer"><h3 class="member detail name">blockSize</h3><pre class="member detail synopsis">protected int blockSize</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-constructors" id="detail-constructors"/><h2 class="section header">Constructor Details</h2><div class="section"><a name="PaddingScheme(String)" id="PaddingScheme(String)"/><div class="member detail outer"><h3 class="member detail name">PaddingScheme</h3><pre class="member detail synopsis">protected PaddingScheme(String algorithm)</pre><blockquote class="member detail name"><div class="member detail description"> Constructor for a PaddingScheme. This constructor is only for use 
 by subclasses; applications cannot call it directly.
 <p/>
 See <a href="../guide/ijce/Algorithms.html#PaddingScheme">
 <cite>International JCE Standard Algorithm Names</cite></a> for a list
 of PaddingScheme algorithm names.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">algorithm</code><span class="separator"> - </span><span class="description">the standard string name of the algorithm.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="clone()" id="clone()"/><div class="member detail outer"><h3 class="member detail name">clone</h3><pre class="member detail synopsis">public Object clone()
            throws CloneNotSupportedException</pre><blockquote class="member detail name"><div class="member detail description"> Returns a clone of this cipher.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="engineGetParameter(String)" id="engineGetParameter(String)"/><div class="member detail outer"><h3 class="member detail name">engineGetParameter</h3><pre class="member detail synopsis">protected Object engineGetParameter(String param)
            throws <a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a>,
                   InvalidParameterException</pre><blockquote class="member detail name"><div class="member detail description"> <b>SPI</b>: Gets the value of the specified algorithm parameter.
 <p/>
 This method supplies a general-purpose mechanism through which it is
 possible to get the various parameters of this object. A uniform
 algorithm-specific naming scheme for each parameter is desirable but
 left unspecified at this time.
 <p/>
 The default implementation always throws a NoSuchParameterException.
 <p/>
 <strong><a href="../guide/ijce/JCEDifferences.html">This method
 is not supported in JavaSoft's version of JCE.</a></strong>
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">param</code><span class="separator"> - </span><span class="description">the string name of the parameter.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the object that represents the parameter value.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a></code><span class="separator"> - </span><span class="description">if there is no parameter with name
param for this padding scheme implementation.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="engineIsValidBlockSize(int)" id="engineIsValidBlockSize(int)"/><div class="member detail outer"><h3 class="member detail name">engineIsValidBlockSize</h3><pre class="member detail synopsis">protected boolean engineIsValidBlockSize(int size)</pre><blockquote class="member detail name"><div class="member detail description"> <b>SPI</b>: Returns true if <i>size</i> is a valid block size (in
 bytes) for this scheme.
 <p/>
 The default implementation always returns true.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="enginePad(byte[],int,int)" id="enginePad(byte[],int,int)"/><div class="member detail outer"><h3 class="member detail name">enginePad</h3><pre class="member detail synopsis">protected abstract int enginePad(byte[] in,
                                 int offset,
                                 int length)</pre><blockquote class="member detail name"><div class="member detail description"> <b>SPI</b>: Pads a single incomplete block.
 <p/>
 The padding is written to the same buffer that is used for input
 (<i>in</i>). When this method returns, the padded block should be stored at
 <code>in[offset .. offset+blockSize-1]</code>.
 <p/>
 <i>in</i> will be long enough to accomodate the padding. <i>length</i> is
 guaranteed to be in the range 0 .. <code>blockSize</code>-1.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">in</code><span class="separator"> - </span><span class="description">the buffer containing the incomplete block.</span></dd><dd class="item"><code class="name">offset</code><span class="separator"> - </span><span class="description">the offset into the <i>in</i> buffer of the block.</span></dd><dd class="item"><code class="name">length</code><span class="separator"> - </span><span class="description">the number of bytes from the <i>in</i> buffer,
starting at <i>offset</i>, that need to be unpadded.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the number of padding bytes written.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="engineSetBlockSize(int)" id="engineSetBlockSize(int)"/><div class="member detail outer"><h3 class="member detail name">engineSetBlockSize</h3><pre class="member detail synopsis">protected void engineSetBlockSize(int size)</pre><blockquote class="member detail name"><div class="member detail description"> Sets the <code>blockSize</code> variable for this instance.
 <p/>
 Subclasses that override this method (to do initialization that
 depends on <code>blockSize</code> being set) should call
 <code>super.engineSetBlockSize(size)</code> first.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="engineSetParameter(String,Object)" id="engineSetParameter(String,Object)"/><div class="member detail outer"><h3 class="member detail name">engineSetParameter</h3><pre class="member detail synopsis">protected void engineSetParameter(String param,
                                  Object value)
            throws <a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a>,
                   InvalidParameterException,
                   <a href="../../xjava/security/InvalidParameterTypeException.html" title="Class in xjava.security">InvalidParameterTypeException</a></pre><blockquote class="member detail name"><div class="member detail description"> <b>SPI</b>: Sets the specified algorithm parameter to the specified
 value.
 <p/>
 This method supplies a general-purpose mechanism through which it is
 possible to set the various parameters of this object. A uniform
 algorithm-specific naming scheme for each parameter is desirable but
 left unspecified at this time.
 <p/>
 The default implementation always throws a NoSuchParameterException.
 <p/>
 <strong><a href="../guide/ijce/JCEDifferences.html">This method
 is not supported in JavaSoft's version of JCE.</a></strong>
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">param</code><span class="separator"> - </span><span class="description">the string name of the parameter.</span></dd><dd class="item"><code class="name">value</code><span class="separator"> - </span><span class="description">the parameter value.</span></dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a></code><span class="separator"> - </span><span class="description">if there is no parameter with name
param for this padding scheme implementation.</span></dd><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/InvalidParameterTypeException.html" title="Class in xjava.security">InvalidParameterTypeException</a></code><span class="separator"> - </span><span class="description">if value is the wrong type
for this parameter.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="engineUnpad(byte[],int,int)" id="engineUnpad(byte[],int,int)"/><div class="member detail outer"><h3 class="member detail name">engineUnpad</h3><pre class="member detail synopsis">protected abstract int engineUnpad(byte[] in,
                                   int offset,
                                   int length)</pre><blockquote class="member detail name"><div class="member detail description"> <b>SPI</b>: Given the specified subarray of bytes that includes
 padding bytes, returns the index indicating where padding starts.
 <p/>
 <i>length</i> is guaranteed to be a non-negative multiple of
 <code>blockSize</code>.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">in</code><span class="separator"> - </span><span class="description">the buffer containing the bytes.</span></dd><dd class="item"><code class="name">offset</code><span class="separator"> - </span><span class="description">the offset into the <i>in</i> buffer of the
first byte to be unpadded.</span></dd><dd class="item"><code class="name">length</code><span class="separator"> - </span><span class="description">the total length in bytes of the blocks to be
unpadded.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the index into the <i>in</i> buffer indicating
where the padding starts.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getAlgorithm()" id="getAlgorithm()"/><div class="member detail outer"><h3 class="member detail name">getAlgorithm</h3><pre class="member detail synopsis">public final String getAlgorithm()</pre><blockquote class="member detail name"><div class="member detail description"> Returns the standard name of the padding scheme implemented.
 <p/>
 See <a href="../guide/ijce/Algorithms.html#PaddingScheme">
 <cite>International JCE Standard Algorithm Names</cite></a> for a list
 of PaddingScheme algorithm names.
</div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the standard name of the padding scheme, such as "PKCS#5".</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getAlgorithms()" id="getAlgorithms()"/><div class="member detail outer"><h3 class="member detail name">getAlgorithms</h3><pre class="member detail synopsis">public static String[] getAlgorithms()</pre><blockquote class="member detail name"><div class="member detail description"> Gets the standard names of all PaddingSchemes implemented by any
 installed provider. Algorithm names are not duplicated if
 they are supported by more than one provider.
 The built-in PaddingScheme "NONE" is included.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getAlgorithms(Provider)" id="getAlgorithms(Provider)"/><div class="member detail outer"><h3 class="member detail name">getAlgorithms</h3><pre class="member detail synopsis">public static String[] getAlgorithms(Provider provider)</pre><blockquote class="member detail name"><div class="member detail description"> Gets the standard names of all PaddingSchemes implemented by a
 provider.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getBlockSize()" id="getBlockSize()"/><div class="member detail outer"><h3 class="member detail name">getBlockSize</h3><pre class="member detail synopsis">public final int getBlockSize()</pre><blockquote class="member detail name"><div class="member detail description">Returns the block size for this padding scheme. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getInstance(String)" id="getInstance(String)"/><div class="member detail outer"><h3 class="member detail name">getInstance</h3><pre class="member detail synopsis">public static <a href="../../xjava/security/PaddingScheme.html" title="Class in xjava.security">PaddingScheme</a> getInstance(String algorithm)
            throws NoSuchAlgorithmException</pre><blockquote class="member detail name"><div class="member detail description"> Generates a PaddingScheme object that implements the algorithm
 requested, as available in the environment.
 <p/>
 See <a href="../guide/ijce/Algorithms.html#PaddingScheme">
 <cite>International JCE Standard Algorithm Names</cite></a> for a list
 of PaddingScheme algorithm names.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">algorithm</code><span class="separator"> - </span><span class="description">the standard name or an alias for the algorithm.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the new PaddingScheme object.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getInstance(String,String)" id="getInstance(String,String)"/><div class="member detail outer"><h3 class="member detail name">getInstance</h3><pre class="member detail synopsis">public static <a href="../../xjava/security/PaddingScheme.html" title="Class in xjava.security">PaddingScheme</a> getInstance(String algorithm,
                                        String provider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException</pre><blockquote class="member detail name"><div class="member detail description"> Generates a PaddingScheme object implementing the specified
 algorithm, as supplied from the specified provider, if such an
 algorithm is available from the provider.
 <p/>
 See <a href="../guide/ijce/Algorithms.html#PaddingScheme">
 <cite>International JCE Standard Algorithm Names</cite></a> for a list
 of PaddingScheme algorithm names.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">algorithm</code><span class="separator"> - </span><span class="description">the standard name or an alias for the algorithm.</span></dd><dd class="item"><code class="name">provider</code><span class="separator"> - </span><span class="description">the string name of the provider.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the new KeyGenerator object.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getParameter(String)" id="getParameter(String)"/><div class="member detail outer"><h3 class="member detail name">getParameter</h3><pre class="member detail synopsis">public Object getParameter(String param)
            throws <a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a>,
                   InvalidParameterException</pre><blockquote class="member detail name"><div class="member detail description"> Gets the value of the specified algorithm parameter.
 <p/>
 This method supplies a general-purpose mechanism through which it is
 possible to get the various parameters of this object. A uniform
 algorithm-specific naming scheme for each parameter is desirable but
 left unspecified at this time.
 <p/>
 <strong><a href="../guide/ijce/JCEDifferences.html">This method
 is not supported in JavaSoft's version of JCE.</a></strong>
</div><dl class="member detail specified by list"><dt class="member detail specified by header"><b>Specified by:</b></dt><dd class="member detail specified by item"><a href="../../xjava/security/Parameterized.html#getParameter(String)">getParameter</a> in interface <a href="../../xjava/security/Parameterized.html" title="Interface in xjava.security">Parameterized</a></dd></dl><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">param</code><span class="separator"> - </span><span class="description">the string name of the parameter.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the object that represents the parameter value.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a></code><span class="separator"> - </span><span class="description">if there is no parameter with name
param for this padding scheme implementation.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="pad(byte[],int,int)" id="pad(byte[],int,int)"/><div class="member detail outer"><h3 class="member detail name">pad</h3><pre class="member detail synopsis">public final int pad(byte[] in,
                     int offset,
                     int length)</pre><blockquote class="member detail name"><div class="member detail description"> Pads a given array of bytes. The padding is written to the same buffer
 that is used for input (<i>in</i>). When this method returns, the padded
 output will be stored at
 <code>in[offset .. offset+length+padLength(length)-1]</code>.
 <p/>
 The <i>in</i> array should be long enough to accomodate the padding.
 <p/>
 The return value is the number of bytes written, <em>not</em> the total
 length of the padded block.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">in</code><span class="separator"> - </span><span class="description">the buffer containing the input.</span></dd><dd class="item"><code class="name">offset</code><span class="separator"> - </span><span class="description">the offset of the bytes to be padded.</span></dd><dd class="item"><code class="name">length</code><span class="separator"> - </span><span class="description">the number of bytes from the <i>in</i> buffer,
starting at <i>offset</i>, that need to be padded.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the number of padding bytes written to out.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="padLength(int)" id="padLength(int)"/><div class="member detail outer"><h3 class="member detail name">padLength</h3><pre class="member detail synopsis">public final int padLength(int length)</pre><blockquote class="member detail name"><div class="member detail description"> Returns the increase in size that a padding operation would cause on
 input data of a given length. This is always
 <code>blockSize - (length % blockSize)</code>.
</div><dl class="member detail specified by list"><dt class="member detail specified by header"><b>Specified by:</b></dt><dd class="member detail specified by item"><a href="../../xjava/security/Padding.html#padLength(int)">padLength</a> in interface <a href="../../xjava/security/Padding.html" title="Interface in xjava.security">Padding</a></dd></dl><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">length</code><span class="separator"> - </span><span class="description">the length of the data to be padded.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the increase in size that a padding operation would cause on
input of the specified length.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="paddingScheme()" id="paddingScheme()"/><div class="member detail outer"><h3 class="member detail name">paddingScheme</h3><pre class="member detail synopsis">public final String paddingScheme()</pre><blockquote class="member detail name"><p class="deprecated"><b class="deprecated header">Deprecated. </b><i class="deprecated">Use getAlgorithm() instead.</i><p class="deprecated"><div class="member detail description"> Returns the standard name of the padding scheme implemented.
 <p/>
 See <a href="../guide/ijce/Algorithms.html#PaddingScheme">
 <cite>International JCE Standard Algorithm Names</cite></a> for a list
 of PaddingScheme algorithm names.
</div><dl class="member detail specified by list"><dt class="member detail specified by header"><b>Specified by:</b></dt><dd class="member detail specified by item"><a href="../../xjava/security/Padding.html#paddingScheme()">paddingScheme</a> in interface <a href="../../xjava/security/Padding.html" title="Interface in xjava.security">Padding</a></dd></dl><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the standard name of the padding scheme.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="setParameter(String,Object)" id="setParameter(String,Object)"/><div class="member detail outer"><h3 class="member detail name">setParameter</h3><pre class="member detail synopsis">public void setParameter(String param,
                         Object value)
            throws <a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a>,
                   InvalidParameterException,
                   <a href="../../xjava/security/InvalidParameterTypeException.html" title="Class in xjava.security">InvalidParameterTypeException</a></pre><blockquote class="member detail name"><div class="member detail description"> Sets the specified algorithm parameter to the specified value.
 <p/>
 This method supplies a general-purpose mechanism through which it is
 possible to set the various parameters of this object. A uniform
 algorithm-specific naming scheme for each parameter is desirable but
 left unspecified at this time.
 <p/>
 <strong><a href="../guide/ijce/JCEDifferences.html">This method
 is not supported in JavaSoft's version of JCE.</a></strong>
</div><dl class="member detail specified by list"><dt class="member detail specified by header"><b>Specified by:</b></dt><dd class="member detail specified by item"><a href="../../xjava/security/Parameterized.html#setParameter(String,Object)">setParameter</a> in interface <a href="../../xjava/security/Parameterized.html" title="Interface in xjava.security">Parameterized</a></dd></dl><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">param</code><span class="separator"> - </span><span class="description">the string identifier of the parameter.</span></dd><dd class="item"><code class="name">value</code><span class="separator"> - </span><span class="description">the parameter value.</span></dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/NoSuchParameterException.html" title="Class in xjava.security">NoSuchParameterException</a></code><span class="separator"> - </span><span class="description">if there is no parameter with name
param for this padding scheme implementation.</span></dd><dd class="member detail thrown item"><code class="name"><a href="../../xjava/security/InvalidParameterTypeException.html" title="Class in xjava.security">InvalidParameterTypeException</a></code><span class="separator"> - </span><span class="description">if value is the wrong type
for this parameter.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="toString()" id="toString()"/><div class="member detail outer"><h3 class="member detail name">toString</h3><pre class="member detail synopsis">public String toString()</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="unpad(byte[],int,int)" id="unpad(byte[],int,int)"/><div class="member detail outer"><h3 class="member detail name">unpad</h3><pre class="member detail synopsis">public final int unpad(byte[] in,
                       int offset,
                       int length)</pre><blockquote class="member detail name"><div class="member detail description"> Given the specified subarray of bytes that includes padding bytes,
 returns the index indicating where padding starts.
 <p/>
 <i>length</i> must be at least <code>blockSize</code>.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">in</code><span class="separator"> - </span><span class="description">the buffer containing the bytes.</span></dd><dd class="item"><code class="name">offset</code><span class="separator"> - </span><span class="description">the offset into the <i>in</i> buffer of the
first byte in the block.</span></dd><dd class="item"><code class="name">length</code><span class="separator"> - </span><span class="description">the total length in bytes of the blocks to be
unpadded.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the index into the <i>in</i> buffer indicating where the
padding starts.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../about.html">About</a></span></div></td></tr></table></body></html>

Anon7 - 2021