AES 256 CBC + Java
20/07/2011
0
Boa noite pessoal, estou testando AES 256 CBC. Segue meu source:
public void testarMODOCBC() throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, InvalidAlgorithmParameterException { String dado_original = "O Vetor de Inicialização ou Initialization Vector, em inglês"; KeyGenerator kg = KeyGenerator.getInstance("AES"); Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding"); Key key = kg.generateKey(); c.init(Cipher.ENCRYPT_MODE, key); byte input[] = dado_original.getBytes(); byte criptografado[] = c.doFinal(input); System.out.println(asHex(criptografado)); byte iv[] = c.getIV(); IvParameterSpec dps = new IvParameterSpec(iv); c.init(Cipher.DECRYPT_MODE, key, dps); byte output[] = c.doFinal(criptografado); System.out.println(new String(output)); }
Eu estava precisando dos seguintes:
1) Que a chave seja gerada através do processo Password Based Key Derivation Function (PBKDF) utilizando SHA256.
2) Que os valores dos vetor de inicialização(IV) sejam setados por mim.
3) Que os valores retornados na string gerada do vetor "output" respeitasse os acentos e caracteres especiais da mensagem original.
Alguém pode me dar algumas informações neste sentido para eu continuar com a implementação? Desde já agradeço todas as respostas.
Abraão Monteiro
Curtir tópico
+ 0
Responder
Posts
26/07/2011
Dyego Carmo
Você tentou dar uma olhada nos exemplos da biblioteca BouncyCastle ?
Ela é especializada em algorítimos de criptografia e tem mais de 1000 exemplos quando vc baixa o zip dela...
Ela é especializada em algorítimos de criptografia e tem mais de 1000 exemplos quando vc baixa o zip dela...
Responder
Clique aqui para fazer login e interagir na Comunidade :)