Spec-Zone.ru › OpenJDK 27

Класс SecretKeySpec

java.lang.Object
javax.crypto.spec.SecretKeySpec
Все реализуемые интерфейсы:
Serializable, Key, KeySpec, SecretKey, Destroyable
public class SecretKeySpec extends Object implements KeySpec, SecretKey
Этот класс задает секретный ключ независимо от поставщика.

Его можно использовать для создания SecretKey из массива байтов без необходимости использовать (основанный на поставщике) SecretKeyFactory.

Этот класс полезен только для необработанных секретных ключей, которые можно представить в виде массива байтов и с которыми не связаны параметры ключа, например для ключей DES или Triple DES.

Начиная с версии:
1.4
См. также:
  • SecretKey
  • SecretKeyFactory
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
SecretKeySpec(byte[] key, int offset, int len, String algorithm)
Создает секретный ключ из заданного массива байтов, используя первые len байт массива key, начиная с offset включительно.
SecretKeySpec(byte[] key, String algorithm)
Создает секретный ключ из заданного массива байтов.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Проверяет равенство указанного объекта и этого объекта.
String getAlgorithm()
Возвращает имя алгоритма, связанного с этим секретным ключом.
byte[] getEncoded()
Возвращает материал ключа этого секретного ключа.
String getFormat()
Возвращает имя формата кодирования этого секретного ключа.
int hashCode()
Вычисляет хеш-код объекта.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного периода реального времени.

Методы, объявленные в интерфейсе Destroyable

destroy, isDestroyed
Модификатор и тип Метод Описание
default void destroy()
Уничтожает этот Object.
default boolean isDestroyed()
Определяет, был ли уничтожен этот Object.

Подробное описание конструкторов

SecretKeySpec

public SecretKeySpec(byte[] key, String algorithm)
Создает секретный ключ из заданного массива байтов.

Этот конструктор не проверяет, действительно ли заданные байты задают секретный ключ указанного алгоритма. Например, если алгоритм — DES, этот конструктор не проверяет, что key имеет длину 8 байт, а также не проверяет наличие слабых или полуслабых ключей. Для выполнения этих проверок следует использовать класс спецификации ключа, предназначенный для конкретного алгоритма (в данном случае: DESKeySpec).

Параметры:
key — материал секретного ключа. Содержимое массива копируется для защиты от последующего изменения.
algorithm — имя алгоритма секретного ключа, который будет связан с заданным материалом ключа. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе «Алгоритмы секретных ключей» спецификации Стандартные имена алгоритмов Java Security.
Исключения:
IllegalArgumentException — если algorithm равно null или key равно null либо пусто.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

SecretKeySpec

public SecretKeySpec(byte[] key, int offset, int len, String algorithm)
Создает секретный ключ из заданного массива байтов, используя первые len байт массива key, начиная с offset включительно.

Секретный ключ составляют байты от key[offset] до key[offset+len-1] включительно.

Этот конструктор не проверяет, действительно ли заданные байты задают секретный ключ указанного алгоритма. Например, если алгоритм — DES, этот конструктор не проверяет, что key имеет длину 8 байт, а также не проверяет наличие слабых или полуслабых ключей. Для выполнения этих проверок следует использовать класс спецификации ключа, предназначенный для конкретного алгоритма (в данном случае: DESKeySpec).

Параметры:
key — материал секретного ключа. Первые len байт массива, начиная с offset включительно, копируются для защиты от последующего изменения.
offset — смещение в key, с которого начинается материал ключа.
len — длина материала ключа.
algorithm — имя алгоритма секретного ключа, который будет связан с заданным материалом ключа. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе «Алгоритмы секретных ключей» спецификации Стандартные имена алгоритмов Java Security.
Исключения:
IllegalArgumentException — если algorithm равно null или key равно null, пусто или слишком коротко, то есть key.length-offset<len.
ArrayIndexOutOfBoundsException — если offset или len отрицательны.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

Подробное описание методов

getAlgorithm

public String getAlgorithm()
Возвращает имя алгоритма, связанного с этим секретным ключом.
Определено в:
getAlgorithm в интерфейсе Key
Возвращает:
алгоритм секретного ключа.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

getFormat

public String getFormat()
Возвращает имя формата кодирования этого секретного ключа.
Определено в:
getFormat в интерфейсе Key
Возвращает:
строку "RAW".

getEncoded

public byte[] getEncoded()
Возвращает материал ключа этого секретного ключа.
Определено в:
getEncoded в интерфейсе Key
Возвращает:
материал ключа. При каждом вызове этого метода возвращается новый массив.

hashCode

public int hashCode()
Вычисляет хеш-код объекта. Равные объекты имеют одинаковые хеш-коды.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Проверяет равенство указанного объекта и этого объекта. Два объекта SecretKeySpec считаются равными, если оба являются экземплярами SecretKey и имеют одинаковые без учета регистра имя алгоритма и кодировку ключа.
Переопределяет:
equals в классе Object
Параметры:
obj — объект, равенство которого этому объекту проверяется.
Возвращает:
true, если объекты считаются равными; false, если obj равно null или в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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