java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.crypto.spec
类 SecretKeySpec

java.lang.Object
  继承者 javax.crypto.spec.SecretKeySpec
所有已实现的接口:
Serializable, Key, KeySpec, SecretKey

public class SecretKeySpec
extends Object
implements KeySpec, SecretKey

此类以与 provider 无关的方式指定一个密钥。

可以使用此类来根据一个字节数组构造一个 SecretKey,而无须通过一个(基于 provider 的)SecretKeyFactory

此类仅对能表示为一个字节数组并且没有任何与之相关联的钥参数的原始密钥有用,如,DES 或者 Triple DES 密钥。

从以下版本开始:
1.4
另请参见:
SecretKey, SecretKeyFactory, 序列化表格

字段摘要
 
从接口 javax.crypto.SecretKey 继承的字段
serialVersionUID
 
构造方法摘要
SecretKeySpec(byte[] key, int offset, int len, String algorithm)
          根据给定的字节数组构造一个密钥,使用 key 中的始于且包含 offset 的前 len 个字节。
SecretKeySpec(byte[] key, String algorithm)
          根据给定的字节数组构造一个密钥。
 
方法摘要
 boolean equals(Object obj)
          测试给定对象与此对象的相等性。
 String getAlgorithm()
          返回与此密钥关联的算法的名称。
 byte[] getEncoded()
          返回此密钥的密钥内容。
 String getFormat()
          返回此密钥编码格式的名称。
 int hashCode()
          计算此对象的哈希码值。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SecretKeySpec

public SecretKeySpec(byte[] key,
                     String algorithm)
根据给定的字节数组构造一个密钥。

此构造方法不检查给定的字节实际上是否指定了一个指定算法的密钥。例如,如果算法是 DES,此构造方法不检查 key 是否是 8 字节长,并且也不检查是否是全弱或者半弱密钥。为了执行这些检查,应当使用一个特定于算法的密钥规范(在此情况下是:DESKeySpec)。

参数:
key - 密钥的密钥内容。复制该数组的内容来防止后续修改。
algorithm - 与给定的密钥内容相关联的密钥算法的名称。有关标准算法名称的信息请参见 Java Cryptography Extension Reference Guide 中的附录 A。
抛出:
IllegalArgumentException - 如果 algorithm 为 null 或者 key 为 null 或空。

SecretKeySpec

public SecretKeySpec(byte[] key,
                     int offset,
                     int len,
                     String algorithm)
根据给定的字节数组构造一个密钥,使用 key 中的始于且包含 offset 的前 len 个字节。

组成密钥的字节在 key[offset]key[offset+len-1] 范围内(包含两者)。

此构造方法不检查给定的字节实际上是否指定了一个指定算法的密钥。例如,如果算法是 DES,此构造方法不检查 key 是否是 8 字节长,并且也不检查是否是全弱或者半弱密钥。为了执行这些检查,必须使用一个特定于算法的密钥规范(在此情况下是:DESKeySpec)。

参数:
key - 密钥的密钥内容。复制该数组始于且包含 offset 的前 len 个字节来防止后续修改。
offset - key 中的偏移量,密钥内容从此处开始。
len - 密钥内容的长度。
algorithm - 与给定的密钥内容相关联的密钥算法的名称。有关标准算法名称的信息请参见 Java Cryptography Extension Reference Guide 中的附录 A。
抛出:
IllegalArgumentException - 如果 algorithm 为 null 或者 key 为 null、空或太短(即 key.length-offset)。
ArrayIndexOutOfBoundsException - 如果 offset 或者 len 索引字节在 key 范围外,则抛出该异常。
方法详细信息

getAlgorithm

public String getAlgorithm()
返回与此密钥关联的算法的名称。

指定者:
接口 Key 中的 getAlgorithm
返回:
密钥算法。

getFormat

public String getFormat()
返回此密钥编码格式的名称。

指定者:
接口 Key 中的 getFormat
返回:
字符串 "RAW"。

getEncoded

public byte[] getEncoded()
返回此密钥的密钥内容。

指定者:
接口 Key 中的 getEncoded
返回:
密钥内容。每次调用此方法都返回一个新数组。

hashCode

public int hashCode()
计算此对象的哈希码值。相等的对象也将具有相同的哈希码。

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
测试给定对象与此对象的相等性。如果两个 SecretKeySpec 对象都是具有相同的区分大小写的算法名称和密钥编码的 SecretKey 实例,则认为这两者相等。

覆盖:
Object 中的 equals
参数:
obj - 要与此对象进行相等性测试的对象。
返回:
如果认为对象相等则返回 true;如果 obj 为 null 或其他情况则返回 false。
另请参见:
Object.hashCode(), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策