List of usage examples for org.bouncycastle.crypto PBEParametersGenerator PKCS5PasswordToUTF8Bytes
public static byte[] PKCS5PasswordToUTF8Bytes(char[] password)
From source file:bit.changepurse.wdk.bip.MnemonicService.java
License:Mozilla Public License
private PBEKeySpec createPBESpec(String mnemonic, String passphrase) { char[] password = mnemonic.toCharArray(); byte[] salt = PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(passphrase.toCharArray()); PBEKeySpec spec = new PBEKeySpec(password, salt, ITERATION_COUNT, DERIVED_KEY_SIZE); return spec;//from w ww. j a va 2 s . co m }
From source file:de.gs_sys.basics.crypto.hmac.PBKDF.java
License:Open Source License
public static byte[] bytePBKDF(String pas, int iterations) { if (pas == null) return null; PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(); // uses PKCS#5 standard generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(pas.toCharArray()), SALT, iterations); // Generate Key 32 chars at 8 bit so total 256 bit KeyParameter key = (KeyParameter) generator.generateDerivedMacParameters(KeyBitSize); return key.getKey(); }
From source file:de.gs_sys.basics.crypto.hmac.PBKDF.java
License:Open Source License
public static byte[] bigPBKDF(String pas, int iterations, int KeyBitSize) { if (pas == null) return null; PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(); // uses PKCS#5 standard generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(pas.toCharArray()), SALT, iterations); // Generate Key 32 chars at 8 bit so total 256 bit KeyParameter key = (KeyParameter) generator.generateDerivedMacParameters(KeyBitSize); return key.getKey(); }
From source file:edu.tamu.tcat.crypto.bouncycastle.PBKDF2Impl.java
License:Apache License
@Override public byte[] passwordToBytes(String password) { return PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password.toCharArray()); }
From source file:org.cryptacular.pbe.OpenSSLEncryptionScheme.java
License:Open Source License
/** * Creates a new instance using the given parameters. * * @param cipher Buffered block cipher algorithm. * @param salt Salt data for key generation function. * @param keyBitLength Size of derived keys in bits. * @param password Password used to derive key. *//*w w w. j a va2s .c o m*/ public OpenSSLEncryptionScheme(final BufferedBlockCipher cipher, final byte[] salt, final int keyBitLength, final char[] password) { final OpenSSLPBEParametersGenerator generator = new OpenSSLPBEParametersGenerator(); generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password), salt); setCipher(cipher); setCipherParameters(generator.generateDerivedParameters(keyBitLength)); }
From source file:org.cryptacular.pbe.OpenSSLEncryptionScheme.java
License:Open Source License
/** * Creates a new instance from an algorithm and salt data. * * @param algorithm OpenSSL key encryption algorithm. * @param iv Explicit IV; first 8 bytes also used for salt in PBE key * generation./* w w w . j a v a2 s . c om*/ * @param password Password used to derive key. */ public OpenSSLEncryptionScheme(final OpenSSLAlgorithm algorithm, final byte[] iv, final char[] password) { byte[] salt = iv; if (iv.length > 8) { salt = new byte[8]; System.arraycopy(iv, 0, salt, 0, 8); } final OpenSSLPBEParametersGenerator generator = new OpenSSLPBEParametersGenerator(); generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password), salt); setCipher(algorithm.getCipherSpec().newInstance()); setCipherParameters(new ParametersWithIV( generator.generateDerivedParameters(algorithm.getCipherSpec().getKeyLength()), iv)); }
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. *//*from w w w . j a va 2 s.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)); }
From source file:org.cryptacular.pbe.PBES2EncryptionScheme.java
License:Open Source License
/** * Creates a new instance with the given parameters. * * @param params PBES2 parameters describing the key derivation function and * encryption scheme./*from w ww .j a v a 2s. c o m*/ * @param password Password used to derive key. */ public PBES2EncryptionScheme(final PBES2Parameters params, final char[] password) { final PBKDF2Params kdfParams = PBKDF2Params.getInstance(params.getKeyDerivationFunc().getParameters()); final byte[] salt = kdfParams.getSalt(); final int iterations = kdfParams.getIterationCount().intValue(); if (kdfParams.getKeyLength() != null) { keyLength = kdfParams.getKeyLength().intValue() * 8; } final PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(); generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password), salt, iterations); initCipher(generator, params.getEncryptionScheme()); }
From source file:org.springframework.security.crypto.encrypt.BouncyCastleAesBytesEncryptor.java
License:Apache License
BouncyCastleAesBytesEncryptor(String password, CharSequence salt, BytesKeyGenerator ivGenerator) { if (ivGenerator.getKeyLength() != 16) { throw new IllegalArgumentException("ivGenerator key length != block size 16"); }//from w w w. j av a 2 s.c o m this.ivGenerator = ivGenerator; PBEParametersGenerator keyGenerator = new PKCS5S2ParametersGenerator(); byte[] pkcs12PasswordBytes = PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password.toCharArray()); keyGenerator.init(pkcs12PasswordBytes, Hex.decode(salt), 1024); this.secretKey = (KeyParameter) keyGenerator.generateDerivedParameters(256); }
From source file:org.xwiki.crypto.password.PasswordToByteConverter.java
License:Open Source License
/** * Convert password to bytes./*www .java 2 s . c om*/ * * @param password password to convert. * @param mode mode of conversion. * @return a bytes array representing the password. */ public static byte[] convert(char[] password, ToBytesMode mode) { byte[] passwd; switch (mode) { case PKCS12: passwd = PBEParametersGenerator.PKCS12PasswordToBytes(password); break; case PKCS5: passwd = PBEParametersGenerator.PKCS5PasswordToBytes(password); break; default: passwd = PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password); break; } return passwd; }