Класс MessageDigestSpi
- Прямые известные подклассы:
MessageDigest
public abstract class MessageDigestSpi extends Object
MessageDigest, который предоставляет функциональность алгоритма дайджеста сообщения, например MD5 или SHA. Дайджесты сообщений — это безопасные односторонние хэш-функции, которые принимают данные произвольного размера и возвращают хэш-значение фиксированной длины. Все абстрактные методы этого класса должны быть реализованы поставщиком криптографических услуг, который желает предоставить реализацию конкретного алгоритма дайджеста сообщения.
Реализации могут самостоятельно определять, поддерживать ли интерфейс Cloneable.
- Начиная с версии:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MessageDigestSpi() |
Конструктор для вызова из подклассов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает клон, если реализация поддерживает клонирование. |
protected abstract byte[] |
engineDigest() |
Завершает вычисление хэша, выполняя заключительные операции, например дополнение. |
protected int |
engineDigest |
Завершает вычисление хэша, выполняя заключительные операции, например дополнение. |
protected int |
engineGetDigestLength() |
Возвращает длину дайджеста в байтах. |
protected abstract void |
engineReset() |
Сбрасывает дайджест для дальнейшего использования. |
protected abstract void |
engineUpdate |
Обновляет дайджест с использованием указанного байта. |
protected abstract void |
engineUpdate |
Обновляет дайджест с использованием указанного массива байтов, начиная с заданного смещения. |
protected void |
engineUpdate |
Обновляет дайджест с использованием указанного ByteBuffer. |
Подробное описание конструкторов
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)
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. - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/MessageDigestSpi.html