Класс 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. |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
MessageDigestSpi
public MessageDigestSpi()
Методы
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
© 1993, 2020, 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/11/docs/api/java.base/java/security/MessageDigestSpi.html