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

Abraão Monteiro

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...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar