Spec-Zone.ru › OpenJDK 24

Класс MacSpi

java.lang.Object
javax.crypto.MacSpi
public abstract class MacSpi extends Object
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса Mac. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических сервисов, желающим предоставить реализацию определенного алгоритма MAC.

Реализации могут свободно реализовывать интерфейс Cloneable.

Since:
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().

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

MacSpi

public MacSpi()
Конструктор для вызова подклассами.

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

engineGetMacLength

protected abstract int engineGetMacLength()
Возвращает длину MAC в байтах.
Returns:
длину MAC в байтах.

engineInit

protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
Инициализирует MAC заданным (секретным) ключом и параметрами алгоритма.
Parameters:
key - секретный ключ.
params - параметры алгоритма.
Throws:
InvalidKeyException - если заданный ключ не подходит для инициализации этого MAC.
InvalidAlgorithmParameterException - если заданные параметры алгоритма не подходят для этого MAC.

engineUpdate

protected abstract void engineUpdate(byte input)
Обрабатывает заданный байт.
Parameters:
input - входящий байт для обработки.

engineUpdate

protected abstract void engineUpdate(byte[] input, int offset, int len)
Обрабатывает первые len байты в input, начиная с offset включительно.
Parameters:
input - буфер ввода.
offset - смещение в input, где начинается ввод.
len - количество байтов для обработки.

engineUpdate

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

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

Parameters:
input - ByteBuffer
Throws:
NullPointerException - если input равен null
Since:
1.5

engineDoFinal

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

engineReset

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

clone

public Object clone() throws CloneNotSupportedException
Возвращает клон, если реализация поддерживает клонирование.
Overrides:
clone в классе Object
Returns:
клон, если реализация поддерживает клонирование.
Throws:
CloneNotSupportedException - если это вызывается на реализации, которая не поддерживает Cloneable.
See Also:
  • Cloneable

Отправить отчет об ошибке или предложить улучшение
Для получения дополнительной справки по API и документации для разработчиков см. Документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, решениями проблем и примерами рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется условиям лицензии и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/crypto/MacSpi.html

Spec-Zone.ru

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