Spec-Zone.ru › OpenJDK 8

Класс MessageDigestSpi

  • java.lang.Object
    • java.security.MessageDigestSpi
Прямые известные подклассы:
MessageDigest

public abstract class MessageDigestSpi
extends Object

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

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

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

См. также:
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

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

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API