Класс 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, 2023, 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/21/docs/api/java.base/java/security/MessageDigestSpi.html