uTools-Manuals/docs/java/javax/crypto/SecretKeyFactorySpi.html

220 lines
11 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.crypto
</div>
<h2 class="title" title="Class SecretKeyFactorySpi">Class SecretKeyFactorySpi</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.SecretKeyFactorySpi</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">SecretKeyFactorySpi</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>这个类定义的 <span>SPI</span> <code>SecretKeyFactory</code>类。</span>
<span>该类中的所有抽象方法必须由希望为特定算法提供秘密密钥工厂的实现的每个加密服务提供商实现。</span>
<p> <span>提供商应记录其密钥工厂支持的所有关键规范。</span> <span>例如由“SunJCE”提供商提供的DES秘密密钥工厂支持<code>DESKeySpec</code>作为DES密钥的透明表示该提供商的三重DES密钥的秘密密钥工厂支持<code>DESedeKeySpec</code>作为三重DES密钥的透明表示。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../javax/crypto/SecretKey.html" title="javax.crypto中的接口"><code>SecretKey</code></a> <a href="../../javax/crypto/spec/DESKeySpec.html" title="javax.crypto.spec中的类"><code>DESKeySpec</code></a> <a href="../../javax/crypto/spec/DESedeKeySpec.html" title="javax.crypto.spec中的类"><code>DESedeKeySpec</code></a></span>
</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/SecretKeyFactorySpi.html#SecretKeyFactorySpi--">SecretKeyFactorySpi</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>
</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>protected abstract <a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/SecretKeyFactorySpi.html#engineGenerateSecret-java.security.spec.KeySpec-">engineGenerateSecret</a></span>(<a href="../../java/security/spec/KeySpec.html" title="interface in java.security.spec">KeySpec</a> keySpec)</code>
<div class="block">
从提供的密钥规范(密钥材料)生成一个
<code>SecretKey</code>对象。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected abstract <a href="../../java/security/spec/KeySpec.html" title="interface in java.security.spec">KeySpec</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/SecretKeyFactorySpi.html#engineGetKeySpec-javax.crypto.SecretKey-java.lang.Class-">engineGetKeySpec</a></span>(<a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> key, <a href="../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; keySpec)</code>
<div class="block">
以请求的格式返回给定键对象的规范(关键材料)。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected abstract <a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/SecretKeyFactorySpi.html#engineTranslateKey-javax.crypto.SecretKey-">engineTranslateKey</a></span>(<a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> key)</code>
<div class="block">
将其提供者可能未知或可能不受信任的关键对象转换为该秘密密钥工厂的相应密钥对象。
</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#clone--">clone</a>, <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="SecretKeyFactorySpi--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SecretKeyFactorySpi</h4> <pre>public SecretKeyFactorySpi()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="engineGenerateSecret-java.security.spec.KeySpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>engineGenerateSecret</h4> <pre>protected abstract <a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> engineGenerateSecret(<a href="../../java/security/spec/KeySpec.html" title="interface in java.security.spec">KeySpec</a> keySpec)
throws <a href="../../java/security/spec/InvalidKeySpecException.html" title="class in java.security.spec">InvalidKeySpecException</a></pre>
<div class="block">
从提供的密钥规范(密钥材料)生成一个
<code>SecretKey</code>对象。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>keySpec</code> - 秘密密钥的规范(密钥材料)
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
密钥
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/security/spec/InvalidKeySpecException.html" title="class in java.security.spec">InvalidKeySpecException</a></code> - 如果给定的密钥规范不适合该秘密密钥工厂产生密钥。
</dd>
</dl> </li>
</ul> <a name="engineGetKeySpec-javax.crypto.SecretKey-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>engineGetKeySpec</h4> <pre>protected abstract <a href="../../java/security/spec/KeySpec.html" title="interface in java.security.spec">KeySpec</a> engineGetKeySpec(<a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> key,
<a href="../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; keySpec)
throws <a href="../../java/security/spec/InvalidKeySpecException.html" title="class in java.security.spec">InvalidKeySpecException</a></pre>
<div class="block">
以请求的格式返回给定键对象的规范(关键材料)。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 关键
</dd>
<dd>
<code>keySpec</code> - 要求退回关键材料的格式
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
请求格式的基础密钥规范(密钥材料)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/security/spec/InvalidKeySpecException.html" title="class in java.security.spec">InvalidKeySpecException</a></code> - 如果所请求的密钥规范对于给定的密钥是不合适的(例如,与
<code>key</code>
<code>keySpec</code>不匹配,或
<code>key</code>引用加密硬件设备上的密钥,而
<code>keySpec</code>是基于软件的密钥的规范)或者给定的密钥不能被处理(例如,给定的密钥具有该秘密密钥工厂不支持的算法或格式)。
</dd>
</dl> </li>
</ul> <a name="engineTranslateKey-javax.crypto.SecretKey-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>engineTranslateKey</h4> <pre>protected abstract <a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> engineTranslateKey(<a href="../../javax/crypto/SecretKey.html" title="interface in javax.crypto">SecretKey</a> key)
throws <a href="../../java/security/InvalidKeyException.html" title="class in java.security">InvalidKeyException</a></pre>
<div class="block">
将其提供者可能未知或可能不受信任的关键对象转换为该秘密密钥工厂的相应密钥对象。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 提供者未知或不信任的密钥
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
翻译密钥
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/security/InvalidKeyException.html" title="class in java.security">InvalidKeyException</a></code> - if the given key cannot be processed by this secret-key factory.
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>