Spec-Zone.ru › OpenJDK 27

Класс MessageDigestSpi

java.lang.Object
java.security.MessageDigestSpi
Прямые известные подклассы:
MessageDigest
public abstract class MessageDigestSpi extends Object
Этот класс определяет интерфейс поставщика службы (SPI) для класса MessageDigest, который предоставляет функциональность алгоритма дайджеста сообщения, например MD5 или SHA. Дайджесты сообщений — это безопасные односторонние хэш-функции, которые принимают данные произвольного размера и возвращают хэш-значение фиксированной длины.

Все абстрактные методы этого класса должны быть реализованы поставщиком криптографических служб, который хочет предоставить реализацию определённого алгоритма дайджеста сообщения.

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

Начиная с:
1.2
См. также:
  • MessageDigest

Краткое описание конструкторов

Конструктор Описание
MessageDigestSpi()
Конструктор для вызова из подклассов.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает клон, если реализация поддерживает клонирование.
protected abstract byte[] engineDigest()
Завершает вычисление хэша, выполняя заключительные операции, такие как дополнение.
protected int engineDigest(byte[] buf, int offset, int len)
Завершает вычисление хэша, выполняя заключительные операции, такие как дополнение.
protected int engineGetDigestLength()
Возвращает длину дайджеста в байтах.
protected abstract void engineReset()
Сбрасывает дайджест для дальнейшего использования.
protected abstract void engineUpdate(byte input)
Обновляет дайджест с использованием указанного байта.
protected abstract void engineUpdate(byte[] input, int offset, int len)
Обновляет дайджест с использованием указанного массива байтов, начиная с заданного смещения.
protected void engineUpdate(ByteBuffer input)
Обновляет дайджест с использованием указанного ByteBuffer.

Методы, объявленные в классе 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)
Заставляет текущий поток ожидать, пока он не будет пробуждён, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени.

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

MessageDigestSpi

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

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

engineGetDigestLength

protected int engineGetDigestLength()
Возвращает длину дайджеста в байтах.

Этот конкретный метод добавлен в ранее определённый абстрактный класс. (Для обеспечения обратной совместимости он не может быть абстрактным.)

По умолчанию возвращается значение 0.

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

Возвращает:
длину дайджеста в байтах.
Начиная с:
1.2

engineUpdate

protected abstract void engineUpdate(byte input)
Обновляет дайджест с использованием указанного байта.
Параметры:
input — байт, используемый для обновления.

engineUpdate

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

engineUpdate

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

engineDigest

protected abstract byte[] engineDigest()
Завершает вычисление хэша, выполняя заключительные операции, такие как дополнение. После вызова engineDigest механизм должен быть сброшен (см. engineReset). Сброс выполняет разработчик механизма.
Возвращает:
массив байтов, представляющий результирующее хэш-значение.

engineDigest

protected int engineDigest(byte[] buf, int offset, int len) throws DigestException
Завершает вычисление хэша, выполняя заключительные операции, такие как дополнение. После вызова engineDigest механизм должен быть сброшен (см. engineReset). Сброс выполняет разработчик механизма. Этот метод должен быть абстрактным, но для обеспечения бинарной совместимости он оставлен конкретным. Поставщикам, знакомым с особенностями реализации, следует переопределить этот метод.
Параметры:
buf — выходной буфер для сохранения дайджеста
offset — смещение в выходном буфере, с которого начинается запись
len — количество байтов в buf, выделенных для дайджеста. Эта реализация по умолчанию и поставщик SUN не возвращают частичные дайджесты. Этот параметр присутствует исключительно для согласованности нашего API. Если значение этого параметра меньше фактической длины дайджеста, метод выбросит DigestException. Этот параметр игнорируется, если его значение больше или равно фактической длине дайджеста.
Возвращает:
длину дайджеста, сохранённого в выходном буфере.
Выбрасывает:
DigestException — если произошла ошибка.
Начиная с:
1.2

engineReset

protected abstract void engineReset()
Сбрасывает дайджест для дальнейшего использования.

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