Example usage for org.bouncycastle.crypto.generators PKCS5S1ParametersGenerator generateDerivedParameters

List of usage examples for org.bouncycastle.crypto.generators PKCS5S1ParametersGenerator generateDerivedParameters

Introduction

In this page you can find the example usage for org.bouncycastle.crypto.generators PKCS5S1ParametersGenerator generateDerivedParameters.

Prototype

public CipherParameters generateDerivedParameters(int keySize, int ivSize) 

Source Link

Document

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

Usage

From source file:com.giacomodrago.immediatecrypt.aes.AESFacadeImpl.java

License:Open Source License

protected ParametersWithIV createEncryptionParameters(String password, String salt) {

    byte[] passwordBytes = password.getBytes(Charsets.UTF_8);
    byte[] saltBytes = salt.getBytes(Charsets.UTF_8);

    PKCS5S1ParametersGenerator keyGenerator = new PKCS5S1ParametersGenerator(new SHA512Digest());
    keyGenerator.init(passwordBytes, saltBytes, PBE_ITERATION_COUNT);

    ParametersWithIV params = (ParametersWithIV) keyGenerator.generateDerivedParameters(KEY_SIZE, IV_SIZE);

    return params;

}

From source file:org.cryptacular.pbe.PBES1EncryptionScheme.java

License:Open Source License

/**
 * Creates a new instance with the given parameters.
 *
 * @param  alg  Describes hash/algorithm pair suitable for PBES1 scheme.
 * @param  params  Key generation function salt and iteration count.
 * @param  password  Password used to derive key.
 */// w w  w  . ja  v a  2s.  c  om
public PBES1EncryptionScheme(final PBES1Algorithm alg, final PBEParameter params, final char[] password) {
    final byte[] salt = params.getSalt();
    final int iterations = params.getIterationCount().intValue();
    final PKCS5S1ParametersGenerator generator = new PKCS5S1ParametersGenerator(
            alg.getDigestSpec().newInstance());
    generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password), salt, iterations);
    setCipher(alg.getCipherSpec().newInstance());
    setCipherParameters(generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH));
}