2010-10-30 5 views
0

Je suis triing pour obtenir ce code pour travailler sur J2ME (il travaille un programme java) mais pas encore en J2MECrypter PBEWithMD5AndDES dans J2ME

public static String generate(String plaintext, String passphase) throws Exception { 
     try { 
      PBEKeySpec pbeKeySpec = new PBEKeySpec(passphase.toCharArray()); 
      PBEParameterSpec pbeParamSpec; 
      SecretKeyFactory keyFac; 
      // Salt 
      byte[] salt = {(byte) 0xc8, (byte) 0x73, (byte) 0x61, (byte) 0x1d, (byte) 0x1a, (byte) 0xf2, (byte) 0xa8, (byte) 0x99}; 
      // Iteration count 
      int count = 20; 
      // Create PBE parameter set 
      pbeParamSpec = new PBEParameterSpec(salt, count); 
      keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); 
      SecretKey pbeKey = keyFac.generateSecret(pbeKeySpec); 
      // Create PBE Cipher 
      Cipher pbeCipher = Cipher.getInstance("PBEWithMD5AndDES"); 
      // Initialize PBE Cipher with key and parameters 
      pbeCipher.init(Cipher.ENCRYPT_MODE, pbeKey, pbeParamSpec); 
      // Our cleartext 
      byte[] cleartext = plaintext.getBytes(); 
      // Encrypt the cleartext 
      byte[] ciphertext = pbeCipher.doFinal(cleartext); 
      return ciphertext; 
     } catch (Exception ex) { 
      throw new Exception(ex.getMessage()); 
     } 
    } 

j'ai trouvé cette lib http://www.bouncycastle.org/java.html

l'important est que je trouve une méthode pour j2me qui peut crypter en utilisant PBEWithMD5AndDES

quelqu'un connaît la solution?

modifier l'ajout d'informations supplémentaires

lorsque je tente d'ajouter le code ci-dessus pour un projet mobile classes suivantes ne sont pas reconnus (non inclus dans J2ME)

PBEKeySpec 
    PBEParameterSpec 
    SecretKeyFactory 

donc je besoin d'un paquet cela me permet d'encoder du texte brut en utilisant PBEWithMD5AndDES quelqu'un sait un tel paquet compatible avec j2me?

thx pour les réponses à ce jour

Répondre

1

Beaucoup de choses peuvent mal tourner lors de l'application d'une primitive, vous devez utiliser Jasypt.

+0

ok, est-ce que j2me est compatible? Peut-il crypter PBEWithMD5AndDES? – Berty

+1

@Berty il est compatible j2me mais il a sa propre implémentation, utilisant des primitives modernes. md5 et des sont très vieux, brisés, et ne devraient être utilisés par personne. – rook

+0

@Rook thx pour votre réponse. Je sais qu'ils ne sont pas très sûrs, mais ils n'ont pas besoin d'être, je les utilise juste pour générer un mot de passe semi-aléatoire à partir de certaines informations lisibles. J'ai déjà créé une installation de bureau et son utilisation maintenant, donc l'application mobile doit être le même algorithme ou les mots de passe ne correspondent pas. est-ce possible avec le paquet suggéré? – Berty