Primeiro não é “encriptografar”, há duas palavras em português para “encrypt”: “criptografar” ou “cifrar”.
Para “decrypt” há a palavra “decifrar”. Alguns dizem que existe “descriptografar” mas acho muito comprido.
Linha 012 - Se você usar isso, tem dois problemas: a senha tem de ter exatamente 8 bytes - se usar um acento, por exemplo, getBytes() vai retornar 2 bytes para cada caracter acentuado (mas se usar getBytes(“ISO-8859-1”) retorna 1 byte só, e é compatível com Windows). Além
disso, chaves obtidas diretamente com senhas são muito fracas (estude um pouco a classe MessageDigest). A idéia é que você acha o MessageDigest da senha (que retorna 16 ou 20 bytes) e usa os primeiros 8 bytes para a chave. O MessageDigest é uma seqüência de dados que parece aleatória, por isso pode ser usada para fornecer chaves muito mais fortes.
Linha 013 - Se você usar isso, o problema é que sua mensagem deve ter exatamente um múltiplo de 8 bytes, senão dá problemas de “padding”. Em vez de usar “DES”, use “DES/ECB/PKCS5Padding”. Isso completa os bytes necessários para evitar o problema.
Linha 016 e 021 - É isso que ocasiona seus problemas. new String(byte[]) é uma conversão “destrutiva” porque converte algumas seqüências de bytes para o caracter ‘?’.
Não há jeito de consertar isso (não adianta passar o parâmetro “encoding” porque não há nenhum “encoding” que resolva esse problema).
Então quando você vai desconverter a String resultante para um byte[] você não vai ter o mesmo byte[] original.
Em vez disso, procure como converter um byte[] para uma String usando Base-64 ou hexadecimal. É relativamente fácil fazer isso, tem muita coisa pronta, é só procurar (não faça você mesmo o conversor Base-64, porque sempre dá um probleminha, e você vai acabar levando muito tempo).
Não sei se estou no local correto mas vou aproveitar o tópico.
Gostaria de decifrar pacotes que coleto da rede wireless, estou pegando os pacotes com Jpcap e wincap porém o AP usa criptografia AES com a chave que eu conheço.
Queria saber como eu faria para decifrar esses pacotes, seria mais ou menos como o discutido acima ?