Problema com Criptografia[RESOLVIDO]

Pessoal,

Estou fazendo alguns testes com criptografia usando a chave AES.

Esta é a seguinte saída da minha classe de teste:

TEXTO DE ENTRADA: testando…
TEXTO DE SAÍDA AES: ?.Ð?y4k;ÚFSÖñZÏ
TEXTO DESCRIPTOGRAFADO EAS: testando…SÖñZÏ

Agora percebam que está ocorrendo o processo de criptografia, mas está sendo adicionado algumas coisas a mais na String de saída, alguém tem ideia do que possa ser?

Isto se chama padding. Em todo algoritmo de criptografia, os dados de entrada tem que ter tamanho que seja multiplo do tamanho da chave. Para que isto ocorra, as bibliotecas que implementam algoritmos de criptigrafia “completam” os dados de entrada com algum tipo de dados. É um dos parametros do metodo quando você cria a instancia do objeto da classe de criptografia. É só usar o padding correto.

Dica 1: o algoritmo chama-se AES.
Dica 2: leia mais sobre algoritmos de criptografia antes de sair programando.

Obrigado oyama.

No seu caso, em vez de especificar “AES” (que escolhe o método ECB, sem padding), normalmente você usaria algo como “AES/ECB/PKCS5Padding”, que já faz esse padding para você.