Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class MessageDigestSpi extends Object
MessageDigest
класс, который обеспечивает функциональность алгоритма обзора сообщения, такого как MD5 или SHA. Обзоры сообщения являются безопасными односторонними хэш-функциями, которые берут данные произвольного размера и выводят значение хэш-функции фиксированной длины. Все абстрактные методы в этом классе должны быть реализованы провайдером криптографических служб, который хочет предоставить реализацию определенного алгоритма обзора сообщения.
Реализации свободны реализовать интерфейс Cloneable.
MessageDigest
Конструктор и Описание |
---|
MessageDigestSpi() |
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
clone()
Возвращает клона, если реализация является cloneable.
|
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.
|
protected int engineGetDigestLength()
Этот конкретный метод был добавлен к этому ранее определенному абстрактному классу. (Для назад совместимости это не может быть абстрактно.)
Поведение по умолчанию должно возвратиться 0.
Этот метод может быть переопределен провайдером, чтобы возвратить длину обзора.
protected abstract void engineUpdate(byte input)
input
- байт, чтобы использовать для обновления.protected abstract void engineUpdate(byte[] input, int offset, int len)
input
- массив байтов, чтобы использовать для обновления.offset
- смещение, чтобы запуститься с в массиве байтов.len
- число байтов, чтобы использовать, запускаясь в offset
.protected void engineUpdate(ByteBuffer input)
input.remaining()
байты, запускающиеся в input.position()
. По возврату позиция буфера будет равна своему пределу; его предел не будет изменяться.input
- ByteBufferprotected abstract byte[] engineDigest()
engineDigest
был вызван, механизм должен быть сброшен (см. engineReset
). Сброс является ответственностью конструктора механизма.protected int engineDigest(byte[] buf, int offset, int len) throws DigestException
engineDigest
был вызван, механизм должен быть сброшен (см. engineReset
). Сброс является ответственностью конструктора механизма. Этот метод должен быть абстрактным, но мы оставляем его бетоном для совместимости на уровне двоичных кодов. Хорошо осведомленные провайдеры должны переопределить этот метод.buf
- буфер вывода, в котором можно сохранить обзорoffset
- смещение, чтобы запуститься с в буфере выводаlen
- число байтов в пределах buf выделяется для обзора. И эта реализация по умолчанию и провайдер SUN не возвращают частичные обзоры. Присутствие этого параметра исключительно для непротиворечивости в нашем API. Если значение этого параметра будет меньше чем фактическая длина обзора, то метод бросит DigestException. Этот параметр игнорируется, если его значение больше чем или равно фактической длине обзора.DigestException
- если ошибка происходит.protected abstract void engineReset()
public Object clone() throws CloneNotSupportedException
clone
в классе Object
CloneNotSupportedException
- если это вызывают на реализации, которая не поддерживает Cloneable
.Cloneable
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.