Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto
Class PBEParametersGenerator

    java.lang.Object
      org.bouncycastle.crypto.PBEParametersGenerator

Direct Known Subclasses:
  OpenSSLPBEParametersGenerator, PKCS12ParametersGenerator, PKCS5S1ParametersGenerator, PKCS5S2ParametersGenerator

    public abstract class PBEParametersGenerator

extends java.lang.Object

super class for all Password Based Encryption (PBE) parameter generator classes.

Field Summary
`protected int` `iterationCount`
`protected byte[]` `password`
`protected byte[]` `salt`

Constructor Summary
`protected` `PBEParametersGenerator()` base constructor.

Method Summary
`abstract CipherParameters` `generateDerivedMacParameters(int keySize)` generate derived parameters for a key of length keySize, specifically for use with a MAC.
`abstract CipherParameters` `generateDerivedParameters(int keySize)` generate derived parameters for a key of length keySize.
`abstract CipherParameters` `generateDerivedParameters(int keySize, int ivSize)` generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.
`int` `getIterationCount()` return the iteration count.
`byte[]` `getPassword()` return the password byte array.
`byte[]` `getSalt()` return the salt byte array.
`void` `init(byte[] password, byte[] salt, int iterationCount)` initialise the PBE generator.
`static byte[]` `PKCS12PasswordToBytes(char[] password)` converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).
`static byte[]` `PKCS5PasswordToBytes(char[] password)` converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)
`static byte[]` `PKCS5PasswordToUTF8Bytes(char[] password)` converts a password to a byte array according to the scheme in PKCS5 (UTF-8, no padding)

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### password

    protected byte[] password

### salt

    protected byte[] salt

### iterationCount

    protected int iterationCount

Constructor Detail

### PBEParametersGenerator

    protected PBEParametersGenerator()

  base constructor.

Method Detail

### init

    public void init(byte[] password,
                     byte[] salt,
                     int iterationCount)

  initialise the PBE generator.

  Parameters:
    `password` - the password converted into bytes (see below).
    `salt` - the salt to be mixed with the password.
    `iterationCount` - the number of iterations the "mixing" function is to be applied for.

### getPassword

    public byte[] getPassword()

  return the password byte array.

  Returns:
    the password byte array.

### getSalt

    public byte[] getSalt()

  return the salt byte array.

  Returns:
    the salt byte array.

### getIterationCount

    public int getIterationCount()

  return the iteration count.

  Returns:
    the iteration count.

### generateDerivedParameters

    public abstract CipherParameters generateDerivedParameters(int keySize)

  generate derived parameters for a key of length keySize.

  Parameters:
    `keySize` - the length, in bits, of the key required.
  Returns:
    a parameters object representing a key.

### generateDerivedParameters

    public abstract CipherParameters generateDerivedParameters(int keySize,
                                                               int ivSize)

  generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.

  Parameters:
    `keySize` - the length, in bits, of the key required.
    `ivSize` - the length, in bits, of the iv required.
  Returns:
    a parameters object representing a key and an IV.

### generateDerivedMacParameters

    public abstract CipherParameters generateDerivedMacParameters(int keySize)

  generate derived parameters for a key of length keySize, specifically for use with a MAC.

  Parameters:
    `keySize` - the length, in bits, of the key required.
  Returns:
    a parameters object representing a key.

### PKCS5PasswordToBytes

    public static byte[] PKCS5PasswordToBytes(char[] password)

  converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)

  Parameters:
    `password` - a character array reqpresenting the password.
  Returns:
    a byte array representing the password.

### PKCS5PasswordToUTF8Bytes

    public static byte[] PKCS5PasswordToUTF8Bytes(char[] password)

  converts a password to a byte array according to the scheme in PKCS5 (UTF-8, no padding)

  Parameters:
    `password` - a character array reqpresenting the password.
  Returns:
    a byte array representing the password.

### PKCS12PasswordToBytes

    public static byte[] PKCS12PasswordToBytes(char[] password)

  converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).

  Parameters:
    `password` - a character array representing the password.
  Returns:
    a byte array representing the password.

Bouncy Castle Cryptography Library 1.45