Assinatura de métodos da classe KeyGenerator

2 respostas
C

Olá Pessoal!!!

Tô com um probleminha aqui!!!Tava usando o método getInstance() da classe KeyGenerator do pacote javax.crypto.*;

assinatura: public static final KeyGenerator getInstance(String algorithm,
String provider)
Só que qual string devo colocar no parâmetro algorithm???
Nolink: http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#AppA
mostra quais algorimos java suporta…tentei alguns mas sempra dá erro nesse parâmetro algorithm.Alguém já usou isso e pode e ajudar???

2 Respostas

keller

Use uma dessas acima…

Espero ter ajudado… :wink:

T

“ClodoaldoJR”:
… o método getInstance() da classe KeyGenerator do pacote javax.crypto.*;

assinatura: public static final KeyGenerator getInstance(String algorithm,
String provider)

Na verdade é um pouco mais difícil do que parece.

Se você vai usar o provider da Sun, que é o padrão, ele aceita relativamente poucos algoritmos - isso depende da versão do JDK que você está usando. E essa string, como você leu na documentação, tem 3 partes, separadas por ‘/’:

  • O algoritmo (AES, DES etc.)
  • O modo (CBC, ECB etc.)
  • e o “padding” (NoPadding, PKCS5Padding)

Só que tem uma coisa. Normalmente quando você vai trabalhar com criptografia é muito raro que você use o tal do KeyGenerator, a menos que você esteja usando para gerar chaves de sessão (ou seja, uma chave diferente para cada comunicação); você normalmente tem uma senha, ou chave fixa em algum lugar, e você em vez de usar KeyGenerator usa SecretKeySpec. Procure isso (SecretKeySpec) no Google para ver como é usado.

Procure no google sobre “Password-Based Encryption”, que 99% do tempo é o que você quer (e poucos ensinam a usar direito; normalmente o pessoal ensina o tal do KeyGenerator, que normalmente gera uma chave diferente a cada vez que você vai trabalhar - nem sempre é o que você quer fazer).

Criado 19 de setembro de 2004
Ultima resposta 20 de set. de 2004
Respostas 2
Participantes 3