mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 09:02:49 +08:00
331 lines
14 KiB
HTML
331 lines
14 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.crypto
|
||
</div>
|
||
<h2 class="title" title="Class MacSpi">Class MacSpi</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.crypto.MacSpi</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">MacSpi</span>
|
||
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>这个类定义的 <span>(SPI)</span> <code>Mac</code>类。</span>
|
||
<span>该类中的所有抽象方法必须由希望提供特定MAC算法的实现的每个加密服务提供商来实现。</span>
|
||
<p> <span>实现可以实现Cloneable接口。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.4
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.summary">
|
||
<!-- --> </a> <h3>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colOne" scope="col">Constructor and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#MacSpi--">MacSpi</a></span>()</code> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code><a href="../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#clone--">clone</a></span>()</code>
|
||
<div class="block">
|
||
如果实现是可克隆的,则返回克隆。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>protected abstract byte[]</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineDoFinal--">engineDoFinal</a></span>()</code>
|
||
<div class="block">
|
||
完成MAC计算并重置MAC进一步使用,维护MAC初始化的秘密密钥。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>protected abstract int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineGetMacLength--">engineGetMacLength</a></span>()</code>
|
||
<div class="block">
|
||
以字节为单位返回MAC的长度。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>protected abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineInit-java.security.Key-java.security.spec.AlgorithmParameterSpec-">engineInit</a></span>(<a href="../../java/security/Key.html" title="interface in java.security">Key</a> key, <a href="../../java/security/spec/AlgorithmParameterSpec.html" title="interface in java.security.spec">AlgorithmParameterSpec</a> params)</code>
|
||
<div class="block">
|
||
用给定(秘密)密钥和算法参数初始化MAC。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>protected abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineReset--">engineReset</a></span>()</code>
|
||
<div class="block">
|
||
重置MAC进一步使用,维护MAC初始化的秘密密钥。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>protected abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineUpdate-byte-">engineUpdate</a></span>(byte input)</code>
|
||
<div class="block">
|
||
处理给定的字节。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code>protected abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineUpdate-byte:A-int-int-">engineUpdate</a></span>(byte[] input, int offset, int len)</code>
|
||
<div class="block">
|
||
处理第一
|
||
<code>len</code>字节
|
||
<code>input</code> ,起始于
|
||
<code>offset</code>以下。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code>protected void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/MacSpi.html#engineUpdate-java.nio.ByteBuffer-">engineUpdate</a></span>(<a href="../../java/nio/ByteBuffer.html" title="class in java.nio">ByteBuffer</a> input)</code>
|
||
<div class="block">
|
||
处理
|
||
<code>input.remaining()</code>字节的ByteBuffer
|
||
<code>input</code> ,从
|
||
<code>input.position()</code>开始。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="MacSpi--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>MacSpi</h4> <pre>public MacSpi()</pre> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="engineGetMacLength--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineGetMacLength</h4> <pre>protected abstract int engineGetMacLength()</pre>
|
||
<div class="block">
|
||
以字节为单位返回MAC的长度。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
MAC长度(以字节为单位)。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineInit-java.security.Key-java.security.spec.AlgorithmParameterSpec-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineInit</h4> <pre>protected abstract void engineInit(<a href="../../java/security/Key.html" title="interface in java.security">Key</a> key,
|
||
<a href="../../java/security/spec/AlgorithmParameterSpec.html" title="interface in java.security.spec">AlgorithmParameterSpec</a> params)
|
||
throws <a href="../../java/security/InvalidKeyException.html" title="class in java.security">InvalidKeyException</a>,
|
||
<a href="../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
|
||
<div class="block">
|
||
用给定(秘密)密钥和算法参数初始化MAC。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>key</code> - (秘密)键。
|
||
</dd>
|
||
<dd>
|
||
<code>params</code> - 算法参数。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/security/InvalidKeyException.html" title="class in java.security">InvalidKeyException</a></code> - 如果给定的密钥不适合初始化该MAC。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果给定的算法参数不适合该MAC。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineUpdate-byte-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineUpdate</h4> <pre>protected abstract void engineUpdate(byte input)</pre>
|
||
<div class="block">
|
||
处理给定的字节。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>input</code> - 要处理的输入字节。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineUpdate-byte:A-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineUpdate</h4> <pre>protected abstract void engineUpdate(byte[] input,
|
||
int offset,
|
||
int len)</pre>
|
||
<div class="block">
|
||
处理第一
|
||
<code>len</code>字节
|
||
<code>input</code> ,起始于
|
||
<code>offset</code>以下。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>input</code> - 输入缓冲区。
|
||
</dd>
|
||
<dd>
|
||
<code>offset</code> -
|
||
<code>input</code>中输入开始的偏移量。
|
||
</dd>
|
||
<dd>
|
||
<code>len</code> - 要处理的字节数。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineUpdate-java.nio.ByteBuffer-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineUpdate</h4> <pre>protected void engineUpdate(<a href="../../java/nio/ByteBuffer.html" title="class in java.nio">ByteBuffer</a> input)</pre>
|
||
<div class="block">
|
||
<span>处理<code>input.remaining()</code>字节的ByteBuffer <code>input</code> ,从<code>input.position()</code>开始。</span>
|
||
<span>返回时,缓冲区的位置将等于其限制;</span>
|
||
<span>其限制将不会改变。</span>
|
||
<p> <span>子类应该考虑覆盖此方法,如果它们可以比字节数组更有效地处理ByteBuffers。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>input</code> - ByteBuffer
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.5
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineDoFinal--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineDoFinal</h4> <pre>protected abstract byte[] engineDoFinal()</pre>
|
||
<div class="block">
|
||
完成MAC计算并重置MAC进一步使用,维护MAC初始化的秘密密钥。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
MAC结果。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="engineReset--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>engineReset</h4> <pre>protected abstract void engineReset()</pre>
|
||
<div class="block">
|
||
重置MAC进一步使用,维护MAC初始化的秘密密钥。
|
||
</div> </li>
|
||
</ul> <a name="clone--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>clone</h4> <pre>public <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> clone()
|
||
throws <a href="../../java/lang/CloneNotSupportedException.html" title="class in java.lang">CloneNotSupportedException</a></pre>
|
||
<div class="block">
|
||
如果实现是可克隆的,则返回克隆。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/lang/Object.html#clone--">clone</a></code>在
|
||
<code><a href="../../java/lang/Object.html" title="class in java.lang">Object</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个克隆,如果实现是可克隆的。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/lang/CloneNotSupportedException.html" title="class in java.lang">CloneNotSupportedException</a></code> - 如果这个调用不支持
|
||
<code>Cloneable</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../java/lang/Cloneable.html" title="java.lang中的接口"><code>Cloneable</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |