Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public AES(final char[] password, final byte[] salt, final byte[] iv)
- throws NoSuchAlgorithmException, InvalidKeySpecException,
- NoSuchPaddingException, InvalidKeyException,
- InvalidParameterSpecException, IllegalBlockSizeException,
- BadPaddingException, UnsupportedEncodingException,
- InvalidAlgorithmParameterException {
- final AlgorithmParameterSpec aps = new IvParameterSpec(iv);
- // Derive the key, given password and salt
- final SecretKeyFactory factory = SecretKeyFactory
- .getInstance(SECRET_KEY_ALGORITHM);
- final KeySpec spec = new PBEKeySpec(password, salt, ITERATIONS,
- KEY_LENGTH);
- final SecretKey tmp = factory.generateSecret(spec);
- final SecretKey secret = new SecretKeySpec(tmp.getEncoded(), ALGORITHM);
- // Build encryptor and get IV
- final Cipher enc_cipher = Cipher.getInstance(TRANSFORMATION);
- enc_cipher.init(Cipher.ENCRYPT_MODE, secret, aps);
- /*final AlgorithmParameters params = enc_cipher.getParameters();
- final byte[] iv = params.getParameterSpec(IvParameterSpec.class)
- .getIV();*/
- // Build decryptor
- final Cipher dec_cipher = Cipher.getInstance(TRANSFORMATION);
- dec_cipher.init(Cipher.DECRYPT_MODE, secret, aps);
- this.m_enc_cipher = enc_cipher;
- this.m_dec_cipher = dec_cipher;
- this.m_iv = iv;
- this.m_secret_key = secret.getEncoded();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement