Utiliser l'algorithme PBE avec AES et SHA
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 :
Code:
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";
} |
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.
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