Spec-Zone.ru › OpenJDK 24

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

C тех пор как:
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()
Вычисляет значение хэш-кода для объекта.

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

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

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

destroy, isDestroyed

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

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 индексируют байты за пределами key.
Внешние спецификации
  • Стандартные имена алгоритмов 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(java.lang.Object)

equals

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/crypto/spec/SecretKeySpec.html

Spec-Zone.ru

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