Salve galera… to com um problema com bibliotecas…
tenho os seguintes métodos:
public void senha(char[] chars) throws Exception {
//System.out.println (System.getProperties());
skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1", "SunJCE");
salt = new byte[4]; // deixamos 4 bytes zerados :(
ks = new PBEKeySpec(chars, salt, 100, 128);
//ks = new PBEKeySpec(chars);
skey = new SecretKeySpec(skf.generateSecret(ks).getEncoded(), "AES");
}
public String cifrar(String original) throws Exception {
Cipher cf = Cipher.getInstance("AES/OFB/NoPadding", "SunJCE");
cf.init(Cipher.ENCRYPT_MODE, skey, new IvParameterSpec(new byte[16]));
return enc.encode(cf.doFinal(original.getBytes()));
}
Acontece que minha máquina nao acha a classe SunJCE… Li no site da sun que é preciso configurar pelo menos um servidor no java.security como o com.sun.crypto.provider.SunJCE
Dae q faço isso dinamicamente através do comando
Provider sunjce = new com.sun.crypto.provider.SunJCE();
Security.addProvider(sunjce);
SÓ QUE, quando vou rodar, ele só acha se for o pacote com.sun.crypto.provider.SunJCEs estiver na ext, e este pacote q coloco é um antigo, que baixei da archieved… dae como esse pacote é antigo, ele nao consegue achar o algoritimo AES/OFB/NoPadding…
Pelo que entendi, nos EUA é proibido a exportação de códigos para criptografia ou algo assim… acho que minha dificuldade é esta… como resolver? usar um algoritimo mais antigo? acho q fiz bagunça?
valeu ae