Класс PBEKeySpec
- Все реализуемые интерфейсы:
KeySpec
public class PBEKeySpec extends Object implements KeySpec
Пароль можно рассматривать как некий исходный ключевой материал, из которого использующий его механизм шифрования выводит криптографический ключ.
Различные механизмы PBE могут использовать разное количество бит каждого символа пароля. Например, механизм PBE, определенный в PKCS #5, использует только младшие 8 бит каждого символа, тогда как PKCS #12 использует все 16 бит каждого символа.
Для преобразования символов пароля в ключ PBE создайте экземпляр соответствующей фабрики секретных ключей. Например, фабрика секретных ключей для PKCS #5 создаст ключ PBE, используя только младшие 8 бит каждого символа пароля, тогда как фабрика секретных ключей для PKCS #12 использует все 16 бит каждого символа.
Также обратите внимание, что этот класс хранит пароли в виде массивов char, а не объектов String (что могло бы показаться более логичным), поскольку класс String неизменяем и его внутреннее значение невозможно перезаписать, когда хранящийся в нем пароль больше не нужен. Поэтому этот класс принимает пароль в виде массива char, чтобы его можно было перезаписать после использования.
- С:
- 1.4
- Внешние спецификации
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PBEKeySpec |
Конструктор, принимающий пароль. |
PBEKeySpec |
Конструктор, принимающий пароль, соль и количество итераций для создания PBEKey для шифров PBE с фиксированным размером ключа. |
PBEKeySpec |
Конструктор, принимающий пароль, соль, количество итераций и длину выводимого ключа для создания PBEKey для шифров PBE с переменным размером ключа. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
clearPassword() |
Очищает внутреннюю копию пароля. |
final int |
getIterationCount() |
Возвращает количество итераций или 0, если оно не задано. |
final int |
getKeyLength() |
Возвращает длину выводимого ключа или 0, если она не задана. |
final char[] |
getPassword() |
Возвращает копию пароля. |
final byte[] |
getSalt() |
Возвращает копию соли или null, если она не задана. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация признана устаревшей и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени. |
Подробное описание конструкторов
PBEKeySpec
public PBEKeySpec(char[] password)
Примечание: password клонируется перед сохранением в новом объекте PBEKeySpec.
- Параметры:
-
password— пароль.
PBEKeySpec
public PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)
password указано значение null, используется пустой char[]. Примечание: password и salt клонируются перед сохранением в новом объекте PBEKeySpec.
- Параметры:
-
password— пароль. -
salt— соль. -
iterationCount— количество итераций. -
keyLength— длина выводимого ключа. - Исключения:
-
NullPointerException— еслиsaltимеет значение null. -
IllegalArgumentException— еслиsaltпуст, то есть имеет длину 0,iterationCountилиkeyLengthне является положительным.
PBEKeySpec
public PBEKeySpec(char[] password, byte[] salt, int iterationCount)
password указано значение null, используется пустой char[]. Примечание: password и salt клонируются перед сохранением в новом объекте PBEKeySpec.
- Параметры:
-
password— пароль. -
salt— соль. -
iterationCount— количество итераций. - Исключения:
-
NullPointerException— еслиsaltимеет значение null. -
IllegalArgumentException— еслиsaltпуст, то есть имеет длину 0, илиiterationCountне является положительным.
Подробное описание методов
clearPassword
public final void clearPassword()
getPassword
public final char[] getPassword()
Примечание: этот метод возвращает копию пароля. После того как информация о пароле больше не нужна, вызывающая сторона должна обнулить ее.
- Возвращает:
- пароль.
- Исключения:
-
IllegalStateException— если пароль был очищен вызовом методаclearPassword.
getSalt
public final byte[] getSalt()
Примечание: этот метод должен возвращать копию соли. После того как информация о соли больше не нужна, вызывающая сторона должна обнулить ее.
- Возвращает:
- соль.
getIterationCount
public final int getIterationCount()
- Возвращает:
- количество итераций.
getKeyLength
public final int getKeyLength()
Примечание: это значение задает предпочтительную длину ключа для шифров с переменным размером ключа. Фактический размер ключа зависит от реализации каждого поставщика.
- Возвращает:
- длину выводимого ключа.
© 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.