Dúvida sobre modos de criptografia

0 respostas
E

Seguinte pessoal, não estou conseguindo descriptografar textos que foram criptografados em modos diferentes de ECB. Para quem não sabe há varios modos de criptografia, são eles: ECB, CBC, CFB, OFB e PCBC. Até é possível o java criptografar em qualquer modo, mas pra descriptografar não dá… só em ECB. Queria saber o pq disso já que é pra um trabalho da facul que estaria terminado se não fosse por esse detalhe. Bom aí vai o código do descriptografar:

public Object descriptografar(Key chaveFinal, String textoHexa, String algoritmo, String padding, String modo) throws NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, NoSuchPaddingException, BadPaddingException, InvalidParameterException
{
	janelaPrincipal.addTextoLog("Descriptografando dados...");
	
	byte[] byteTexto = hexaParaByte(textoHexa);
			
	Key chave = chaveFinal;
			
	Cipher cifra = Cipher.getInstance(algoritmo + "/" + modo + "/" + padding);
	cifra.init(Cipher.DECRYPT_MODE, chave);
	
	byte[] byteFinal = cifra.doFinal(byteTexto);
	
	ResultadoDescriptografar objResultado = new ResultadoDescriptografar(new String(byteFinal));
	
	return objResultado;
}

public static byte[] hexaParaByte(String h) throws IllegalArgumentException
{
	if (h.length() % 2 != 0)
	{
		throw new IllegalArgumentException();
	}
	
	byte[] b = new byte[h.length() / 2];
	
	int j = 0;
	
	for (int i = 0; i < h.length(); i += 2)
	{ 
		String doisChar = h.substring(i, i + 2); 
		b[j] = Integer.decode("0x" + doisChar).byteValue();
		j++;
	}
	
	return b;
}

Bom, valeu desde já. :slight_smile:

Criado 30 de novembro de 2004
Respostas 0
Participantes 1