Bonjour,
J'aimerais crypter un message avec un clé qui m'est fourni par l'utilisateur, mais je ne suis pas sûr que l'algorithme PBE soit assez sécurisé.
Pour le moment, je fais ça :
Mais ici, j'utilise DES et MD5 qui sont tout de même des vieux algorithmes. J'aimerais faire le même avec SHA-256 et AES, mais j'ai pas trouvé comment le faire parce que la KeyFactory ne marche pas avec PBEWithSHAAndAES.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 private static String encode(String message, String key) { try { PBEKeySpec keySpec = new PBEKeySpec(key.toCharArray()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); SecretKey secretKey = keyFactory.generateSecret(keySpec); Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); return new String(cipher.doFinal(message.getBytes())); } catch (Exception e) { e.printStackTrace(); } return "Error"; }
Est-ce que c'est possible de choisir l'algorithme de hashage et celui de cryptage ?
Et deuxième question, est-ce possible d'utiliser une clé non-ASCII ?
Merci d'avance
Baptiste
Partager