List of usage examples for org.bouncycastle.crypto.generators PKCS12ParametersGenerator generateDerivedParameters
public CipherParameters generateDerivedParameters(int keySize)
From source file:GenTestDKs.java
License:Open Source License
private static void testKey(PKCS12ParametersGenerator pgen, int keyLen, int iterCount, String password, byte[] salt) { System.out.println("key len = " + keyLen + ", iter count = " + iterCount + ", password = \"" + password + "\", salt len = " + salt.length); char[] pwChars = password.toCharArray(); byte[] pwBytes = PBEParametersGenerator.PKCS12PasswordToBytes(pwChars); pgen.init(pwBytes, salt, iterCount); KeyParameter kp = (KeyParameter) pgen.generateDerivedParameters(keyLen); printByteArray(kp.getKey());/*from ww w .j a va2 s.c o m*/ }
From source file:org.xmind.core.internal.security.BouncyCastleSecurityProvider.java
License:Open Source License
private BufferedBlockCipher createCipher(boolean encrypt, IEncryptionData encData, String password) throws CoreException { checkEncryptionData(encData);/* ww w . j a v a2 s.com*/ // Create a parameter generator PKCS12ParametersGenerator paramGen = new PKCS12ParametersGenerator(new MD5Digest()); // Get the password bytes byte[] pwBytes = password == null ? new byte[0] : PBEParametersGenerator.PKCS12PasswordToBytes(password.toCharArray()); // Initialize the parameter generator with password bytes, // salt and iteration counts paramGen.init(pwBytes, getSalt(encData), getIterationCount(encData)); // Generate a parameter CipherParameters param = paramGen.generateDerivedParameters(128); // Create a block cipher BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESEngine())); // Initialize the block cipher cipher.init(encrypt, param); return cipher; }