Класс MessageDigestSpi

Прямые известные подклассы:
MessageDigest
public abstract class MessageDigestSpi
extends Object

Этот класс определяет интерфейс поставщика услуг (SPI) для класса MessageDigest, который предоставляет функциональность алгоритма хеширования сообщения, такого как MD5 или SHA. Хеши сообщения являются безопасными односторонними хеш-функциями, которые принимают данные произвольного размера и выводят хеш-значение фиксированной длины.

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

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

С момента:
1.2
См. также:
MessageDigest

Конструкторы

КонструкторОписание
MessageDigestSpi()

Методы

Модификатор и типМетодОписание
Objectclone()

Возвращает клон, если реализация клонируема.

protected abstract byte[]engineDigest()

Завершает вычисление хеша, выполняя заключительные операции, такие как заполнение.

protected intengineDigest​(byte[] buf, int offset, int len)

Завершает вычисление хеша, выполняя заключительные операции, такие как заполнение.

protected intengineGetDigestLength()

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

protected abstract voidengineReset()

Сбрасывает дайджест для дальнейшего использования.

protected abstract voidengineUpdate​(byte input)

Обновляет дайджест с использованием указанного байта.

protected abstract voidengineUpdate​(byte[] input, int offset, int len)

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

protected voidengineUpdate​(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

Spec-Zone .ru
спецификации, руководства, описания, API