Класс SecretKeySpec
- Все реализуемые интерфейсы:
Serializable, Key, KeySpec, SecretKey, Destroyable
public class SecretKeySpec extends Object implements KeySpec, SecretKey
Его можно использовать для создания SecretKey из массива байтов без необходимости использовать (основанный на поставщике) SecretKeyFactory.
Этот класс полезен только для необработанных секретных ключей, которые могут быть представлены в виде массива байтов и не имеют связанных с ними параметров ключа, например ключей DES или Triple DES.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SecretKeySpec |
Создаёт секретный ключ из заданного массива байтов, используя первые len байт массива key, начиная с offset включительно. |
SecretKeySpec |
Создаёт секретный ключ из заданного массива байтов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Проверяет равенство указанного объекта и этого объекта. |
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 либо является пустым. - Внешние спецификации
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имеют отрицательное значение. - Внешние спецификации
Подробное описание методов
getAlgorithm
public String getAlgorithm()
- Определено в:
-
getAlgorithmв интерфейсеKey - Возвращает:
- алгоритм секретного ключа.
- Внешние спецификации
getFormat
getEncoded
public byte[] getEncoded()
- Определено в:
-
getEncodedв интерфейсеKey - Возвращает:
- материал ключа. При каждом вызове этого метода возвращается новый массив.
hashCode
equals
public boolean equals(Object obj)
© 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