org.bouncycastle.crypto.generators

## Class PKCS5S2ParametersGenerator

- java.lang.Object
- - org.bouncycastle.crypto.PBEParametersGenerator
  - - org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator

    public class PKCS5S2ParametersGenerator
    extends PBEParametersGenerator

Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 2. This generator uses a SHA-1 HMac as the calculation function.

The document this implementation is based on can be found at RSA's PKCS5 Page

### Field Summary

### Fields inherited from class org.bouncycastle.crypto.PBEParametersGenerator

`iterationCount, password, salt`

### Constructor Summary

Constructors
Constructor and Description
`PKCS5S2ParametersGenerator()` construct a PKCS5 Scheme 2 Parameters generator.

### Method Summary

Methods
`CipherParameters` `generateDerivedMacParameters(int keySize)` Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.
`CipherParameters` `generateDerivedParameters(int keySize)` Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
`CipherParameters` `generateDerivedParameters(int keySize, int ivSize)` Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

### Methods inherited from class org.bouncycastle.crypto.PBEParametersGenerator

`getIterationCount, getPassword, getSalt, init, PKCS12PasswordToBytes, PKCS5PasswordToBytes, PKCS5PasswordToUTF8Bytes`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PKCS5S2ParametersGenerator

    public PKCS5S2ParametersGenerator()

construct a PKCS5 Scheme 2 Parameters generator.

### Method Detail

#### generateDerivedParameters

    public CipherParameters generateDerivedParameters(int keySize)

Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.

Specified by:
  `generateDerivedParameters` in class `PBEParametersGenerator`
Parameters:
  `keySize` - the size of the key we want (in bits)
Returns:
  a KeyParameter object.

#### generateDerivedParameters

    public CipherParameters generateDerivedParameters(int keySize,
                                             int ivSize)

Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Specified by:
  `generateDerivedParameters` in class `PBEParametersGenerator`
Parameters:
  `keySize` - the size of the key we want (in bits)
  `ivSize` - the size of the iv we want (in bits)
Returns:
  a ParametersWithIV object.

#### generateDerivedMacParameters

    public CipherParameters generateDerivedMacParameters(int keySize)

Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.

Specified by:
  `generateDerivedMacParameters` in class `PBEParametersGenerator`
Parameters:
  `keySize` - the size of the key we want (in bits)
Returns:
  a KeyParameter object.