public abstract class

PBEParametersGenerator

extends Object
java.lang.Object
   ↳ org.bouncycastle.crypto.PBEParametersGenerator
Known Direct Subclasses

Class Overview

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

Summary

Fields
protected int iterationCount
protected byte[] password
protected byte[] salt
Protected Constructors
PBEParametersGenerator()
base constructor.
Public Methods
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)
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.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected int iterationCount

protected byte[] password

protected byte[] salt

Protected Constructors

protected PBEParametersGenerator ()

base constructor.

Public Methods

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.

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.

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.

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.

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.

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.

public int getIterationCount ()

return the iteration count.

Returns
  • the iteration count.

public byte[] getPassword ()

return the password byte array.

Returns
  • the password byte array.

public byte[] getSalt ()

return the salt byte array.

Returns
  • the salt byte array.

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.