Spec-Zone.ru › OpenJDK 25

Класс 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

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

destroy, isDestroyed

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

SecretKeySpec

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

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

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

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 — имя алгоритма секретного ключа, который будет связан с заданным материалом ключа. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе Secret Key Algorithms спецификации стандартных имён алгоритмов безопасности Java.
Вызывает исключение:
IllegalArgumentException — если algorithm имеет значение null или key имеет значение null, является пустым или слишком коротким, то есть key.length-offset<len.
ArrayIndexOutOfBoundsException — если offset или len имеют отрицательное значение.
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

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

getAlgorithm

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/crypto/spec/SecretKeySpec.html

Spec-Zone.ru

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