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
类 MacSpi

java.lang.Object
  继承者 javax.crypto.MacSpi

public abstract class MacSpi
extends Object

此类为 Mac 类定义服务提供程序接口 (SPI)。 此类中的所有抽象方法都必须由每个希望提供实现特定 MAC 算法的加密服务提供程序实现。

该实现可以随意实现 Cloneable 接口。

从以下版本开始:
1.4

构造方法摘要
MacSpi()
           
 
方法摘要
 Object clone()
          如果此实现可以复制,则返回一个副本。
protected abstract  byte[] engineDoFinal()
          完成 MAC 计算并且重新设置 MAC 以便进一步使用,维护 MAC 初始化所用的秘密密钥。
protected abstract  int engineGetMacLength()
          返回以字节为单位的 MAC 的长度。
protected abstract  void engineInit(Key key, AlgorithmParameterSpec params)
          用给定的(秘密)密钥和算法参数初始化 MAC。
protected abstract  void engineReset()
          为了进一步使用而重新设置 MAC,维护 MAC 初始化所用的秘密密钥。
protected abstract  void engineUpdate(byte input)
          处理给定的字节。
protected abstract  void engineUpdate(byte[] input, int offset, int len)
          从 offset 开始处(包含),处理 input 中的第一个 len 字节。
protected  void engineUpdate(ByteBuffer input)
          从 input.position() 开始处,处理 ByteBuffer input 中的 input.remaining() 字节。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

MacSpi

public MacSpi()
方法详细信息

engineGetMacLength

protected abstract int engineGetMacLength()
返回以字节为单位的 MAC 的长度。

返回:
以字节为单位的 MAC 长度。

engineInit

protected abstract void engineInit(Key key,
                                   AlgorithmParameterSpec params)
                            throws InvalidKeyException,
                                   InvalidAlgorithmParameterException
用给定的(秘密)密钥和算法参数初始化 MAC。

参数:
key - (秘密)密钥。
params - 算法参数。
抛出:
InvalidKeyException - 如果给定密钥不适合初始化此 MAC。
InvalidAlgorithmParameterException - 如果给定算法参数不适合此 MAC。

engineUpdate

protected abstract void engineUpdate(byte input)
处理给定的字节。

参数:
input - 要处理的输入字节。

engineUpdate

protected abstract void engineUpdate(byte[] input,
                                     int offset,
                                     int len)
offset 开始处(包含),处理 input 中的第一个 len 字节。

参数:
input - 输入缓冲区。
offset - input 中输入开始处的偏移量。
len - 要处理的字节数。

engineUpdate

protected void engineUpdate(ByteBuffer input)
input.position() 开始处,处理 ByteBuffer input 中的 input.remaining() 字节。 返回时,缓冲区的位置将等于其限制;其限制并未改变。

如果能够比字节数组更有效地处理 ByteBuffer,子类应考虑重写此方法。

参数:
input - ByteBuffer
从以下版本开始:
1.5

engineDoFinal

protected abstract byte[] engineDoFinal()
完成 MAC 计算并且重新设置 MAC 以便进一步使用,维护 MAC 初始化所用的秘密密钥。

返回:
MAC 的结果。

engineReset

protected abstract void engineReset()
为了进一步使用而重新设置 MAC,维护 MAC 初始化所用的秘密密钥。


clone

public Object clone()
             throws CloneNotSupportedException
如果此实现可以复制,则返回一个副本。

覆盖:
Object 中的 clone
返回:
如果此实现可以复制,则返回一个副本。
抛出:
CloneNotSupportedException - 如果调用一个不支持 Cloneable 的实现。
另请参见:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

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

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