Spec-Zone.ru › OpenJDK 27

Класс MacSpi

java.lang.Object
javax.crypto.MacSpi
public abstract class MacSpi extends Object
Этот класс определяет интерфейс поставщика услуг (SPI) для класса Mac. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических услуг, который хочет предоставить реализацию определённого алгоритма 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)
Обрабатывает первые len байт в input, начиная с offset включительно.
protected void engineUpdate(ByteBuffer input)
Обрабатывает input.remaining() байт в ByteBuffer input, начиная с input.position().

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарел и подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие получения уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие получения уведомления или прерывания, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие получения уведомления или прерывания, либо до истечения заданного интервала реального времени.

Подробное описание конструкторов

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)
Обрабатывает первые len байт в input, начиная с offset включительно.
Параметры:
input — входной буфер.
offset — смещение в input, с которого начинаются входные данные.
len — количество байт для обработки.

engineUpdate

protected void engineUpdate(ByteBuffer input)
Обрабатывает input.remaining() байт в ByteBuffer input, начиная с input.position(). После возврата позиция буфера будет равна его пределу; предел буфера не изменится.

Подклассам следует рассмотреть возможность переопределения этого метода, если они могут обрабатывать ByteBuffer эффективнее, чем массивы байтов.

Параметры:
input — ByteBuffer
Исключения:
NullPointerException — если input равно null
С версии:
1.5

engineDoFinal

protected abstract byte[] engineDoFinal()
Завершает вычисление MAC и сбрасывает MAC для дальнейшего использования, сохраняя секретный ключ, с которым был инициализирован MAC.
Возвращает:
результат MAC.

engineReset

protected abstract void engineReset()
Сбрасывает MAC для дальнейшего использования, сохраняя секретный ключ, с которым был инициализирован MAC.

clone

public Object clone() throws CloneNotSupportedException
Возвращает клонированный объект, если реализация поддерживает клонирование.
Переопределяет:
clone в классе Object
Возвращает:
клонированный объект, если реализация поддерживает клонирование.
Исключения:
CloneNotSupportedException — если этот метод вызван для реализации, не поддерживающей Cloneable.
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API