Spec-Zone .ru
спецификации, руководства, описания, API
|
public class PBEKeySpec extends Object implements KeySpec
Пароль может быть просмотрен как некоторый необработанный ключевой материал, от который механизм шифрования, который использует это, получает криптографический ключ.
Различные механизмы PBE могут использовать различные биты каждого символа пароля. Например, механизм PBE, определенный в
Вы преобразовываете символы пароля в ключ PBE, создавая экземпляр соответствующей фабрики секретного ключа. Например, фабрика секретного ключа для PKCS #5 создаст ключ PBE из только младшего разряда 8 битов каждого символа пароля, тогда как фабрика секретного ключа для PKCS #12 возьмет все 16 битов каждого символа.
Также отметьте, что этот класс хранит пароли, поскольку случайная работа выстраивает вместо String
объекты (который казался бы более логичным), потому что Строковый класс является неизменным и нет никакого способа перезаписать его внутреннее значение, когда пароль, сохраненный в нем, больше не необходим. Следовательно, этот класс запрашивает пароль как массив случайной работы, таким образом, это может быть перезаписано когда сделано.
SecretKeyFactory
, PBEParameterSpec
Конструктор и Описание |
---|
PBEKeySpec(char[] password)
Конструктор, который берет пароль.
|
PBEKeySpec(char[] password, byte[] salt, int iterationCount)
Конструктор, который берет пароль, соль, итеративный счет для генерирования PBEKey шифров PBE фиксированного размера ключа.
|
PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)
Конструктор, который берет пароль, соль, итеративное количество, и будущим образом полученную длину ключа для того, чтобы генерировать PBEKey шифров PBE переменного размера ключа.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
clearPassword()
Очищает внутреннюю копию пароля.
|
int |
getIterationCount()
Возвращает итеративное количество или 0 если не определенный.
|
int |
getKeyLength()
Возвращает будущим образом полученную длину ключа или 0 если не определенный.
|
char[] |
getPassword()
Возвращает копию пароля.
|
byte[] |
getSalt()
Возвращает копию соли или нуля если не определенный.
|
public PBEKeySpec(char[] password)
Отметьте: password
клонируется прежде, чем это будет сохранено в новом PBEKeySpec
объект.
password
- пароль.public PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)
password
. Отметьте: password
и salt
клонируются прежде, чем они будут сохранены в новом PBEKeySpec
объект.
password
- пароль.salt
- соль.iterationCount
- итеративное количество.keyLength
- будущим образом полученная длина ключа.NullPointerException
- если salt
нуль.IllegalArgumentException
- если salt
пусто, то есть 0-длиной, iterationCount
или keyLength
не положительно.public PBEKeySpec(char[] password, byte[] salt, int iterationCount)
password
. Отметьте: password
и salt
клонируются прежде, чем они будут сохранены в новом PBEKeySpec
объект.
password
- пароль.salt
- соль.iterationCount
- итеративное количество.NullPointerException
- если salt
нуль.IllegalArgumentException
- если salt
пусто, то есть 0-длиной, или iterationCount
не положительно.public final void clearPassword()
public final char[] getPassword()
Отметьте: этот метод возвращает копию пароля. Это - обязанность вызывающей стороны обнулить информацию о пароле после того, как это больше не необходимо.
IllegalStateException
- если пароль был очищен, вызывая clearPassword
метод.public final byte[] getSalt()
Отметьте: этот метод должен возвратить копию соли. Это - обязанность вызывающей стороны обнулить соленую информацию после того, как это больше не необходимо.
public final int getIterationCount()
public final int getKeyLength()
Отметьте: это используется, чтобы указать на предпочтение на длине ключа для шифров переменного размера ключа. Фактический размер ключа зависит от реализации каждого провайдера.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.