:scrambleup: Estou tentando executar o código abaixo:
[code] try {
// Create the key
KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
SecretKey key = SecretKeyFactory.getInstance(
"PBEWithMD5AndDES").generateSecret(keySpec);//>>Exceção lançada aqui!!!<<
ecipher = Cipher.getInstance(key.getAlgorithm());
dcipher = Cipher.getInstance(key.getAlgorithm());
// Prepare the parameter to the ciphers
AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt, iterationCount);
// Create the ciphers
ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
} catch (java.security.InvalidAlgorithmParameterException e) {
} catch (java.security.spec.InvalidKeySpecException e) {
} catch (javax.crypto.NoSuchPaddingException e) {
} catch (java.security.NoSuchAlgorithmException e) {
} catch (java.security.InvalidKeyException e) {
}[/code]
Ele funciona em uma máquina (com o Eclipse 3.0 e com o MyEclipse - e o JBoss 3) e em outra máquina (só com o Eclipse 3.0), não funciona. Nesta última máquina, eu ganho de presente uma java.security.NoSuchAlgorithmException. Alguma idéia? Algum .jar que pode estar faltando no CLASSPATH desta máquina? Qual? O jce.jar e o sunjce_provider.jar estão nela e no CLASSPATH. Alguma :idea: ?
:arrow: Ah! A parte do stackTrace dela que interessa (que vem logo após a chamada do meu método) está aí:
java.security.NoSuchAlgorithmException: Algorithm PBEWithMD5AndDES not available
at javax.crypto.SunJCE_b.a(DashoA6275)
at javax.crypto.SecretKeyFactory.getInstance(DashoA6275)