|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class PBEKeySpec extends Object implements KeySpec
Пароль может быть просмотрен как некоторый необработанный ключевой материал, от который механизм шифрования, который использует это, получает криптографический ключ.
Различные механизмы PBE могут использовать различные биты каждого символа пароля. Например, механизм PBE, определенный в , смотрит только на младший разряд 8 битов каждого символа, тогда как PKCS #12 смотрит на все 16 битов каждого символа.
Вы преобразовываете символы пароля в ключ PBE, создавая экземпляр соответствующей фабрики секретного ключа. Например, фабрика секретного ключа для PKCS #5 создаст ключ PBE из только младшего разряда 8 битов каждого символа пароля, тогда как фабрика секретного ключа для PKCS #12 возьмет все 16 битов каждого символа.
Также отметьте, что этот class хранит пароли, поскольку случайная работа выстраивает вместо String объекты (который казался бы более логичным), потому что Строка class является неизменной и нет никакого способа перезаписать его внутреннее значение, когда пароль, сохраненный в этом, больше не необходим. Следовательно, этот class запрашивает пароль как массив случайной работы, таким образом, это может быть перезаписано когда сделано.
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 и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92