Class PBEParametersGenerator

java.lang.Object
org.bouncycastle.crypto.PBEParametersGenerator
Direct Known Subclasses:
OpenSSLPBEParametersGenerator, PKCS12ParametersGenerator, PKCS5S1ParametersGenerator, PKCS5S2ParametersGenerator

public abstract class PBEParametersGenerator extends Object
super class for all Password Based Encryption (PBE) parameter generator classes.
  • Field Details

    • password

      protected byte[] password
    • salt

      protected byte[] salt
    • iterationCount

      protected int iterationCount
  • Constructor Details

    • PBEParametersGenerator

      protected PBEParametersGenerator()
      base constructor.
  • Method Details

    • 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 representing 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 representing 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.