Criptografia DES

3 respostas
matheus.porto

Estou fazendo um programa simples que criptografe/descriptografe Strings em DES (codificado em Base64).
Até o momento estou conseguindo criptografar Strings não importa o tamanho da mesma.
No momento de descriptografar Strings muito grande está dando IllegalBlockSizeException.
Como nunca tinha tentado algo do gênero antes não sei como proceder e como tratar essa exceção
Alguém poderia me explicar o motivo de eu conseguir criptografar não importa o tamanho da String mas não consegui descriptografar strings muito grandes ?
Qual o melhor jeito de proceder neste caso ?

Aqui vai meu código caso queiram dar uma olhada…

http://pastebin.com/rkMwpxtB

3 Respostas

Gustavokt

Eu arriscaria dizer que o array de bytes que você está tentando encriptar está muito grande. Você pode tentar quebrar o seu texto com o tamanho do getBlockSize().

A partir daí, você pode ir concatenando os “blocos”. Para aumentar a segurança, vc pode ainda fazer alguma operação sobre os bytes em vez de simplesmente concatenar.

Mas acredito que na verdade, deve ter estourado o tamanho do array que o algortimo do DES tenta inicializar por conta do tamanho do seu texto.

Hebert_Coelho

Você está criando esse programa para aprender ou para colocar no mercado?

Pq já existem apis que fazem todo esse trabalho para vc. [=

E

O DES puro (modo ECB) codifica apenas blocos de 8 bytes de cada vez.
Se o array de bytes a ser codificado não tiver comprimento múltiplo de 8, vai dar problemas.

Procure por PKCS5Padding

Criado 15 de dezembro de 2010
Ultima resposta 16 de dez. de 2010
Respostas 3
Participantes 4