Class PBEParametersGenerator

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int iterationCount  
      protected byte[] password  
      protected byte[] salt  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected PBEParametersGenerator()
      base constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      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 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.