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
ok, est-ce que j2me est compatible? Peut-il crypter PBEWithMD5AndDES? – Berty
@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
@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