Класс 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() |
Вычисляет значение хэш-кода для объекта. |
Методы, объявленные в классе 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 Standard Algorithm Names для получения информации о стандартных именах алгоритмов. - Исключения:
-
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- имя алгоритма секретного ключа, который следует связать с заданным ключевым материалом. См. документ Java Security Standard Algorithm Names для получения информации о стандартных именах алгоритмов. - Исключения:
-
IllegalArgumentException- еслиalgorithmравно null илиkeyравно null, пусто или слишком короткое, т.е.key.length-offset<len. -
ArrayIndexOutOfBoundsException- вызывается, еслиoffsetилиlenиндексируют байты внеkey.
Подробное описание методов
getAlgorithm
public String getAlgorithm()
- Указано в:
-
getAlgorithmв интерфейсеKey - Возвращает:
- алгоритм секретного ключа.
getFormat
public String getFormat()
- Указано в:
-
getFormatв интерфейсеKey - Возвращает:
- строку "RAW".
getEncoded
public byte[] getEncoded()
- Указано в:
-
getEncodedв интерфейсеKey - Возвращает:
- ключевой материал. Возвращает новый массив каждый раз, когда вызывается этот метод.
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
equals
public boolean equals(Object obj)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для проверки равенства с этим объектом. - Возвращает:
- true, если объекты считаются равными, false, если
objравно null или иным образом. - См. также:
© 1993, 2023, 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/21/docs/api/java.base/javax/crypto/spec/SecretKeySpec.html