Bonjour,

J'ai un projet de Bac où je dois faire un programme en Java sous Eclipse pour pouvoir crypter et décrypter un message selon le code César. J'ai ajouté le programme que j'ai crée pour crypter le message et j'ai aussi ajouté un programme similaire pour décrypter mais tous deux ne fonctionnent pas.

En plus de ça, je dois faire un programme pour crypter et décrypter un message avec le chiffre de Vigenère.

Dans mes programmes j'ai codé une méthode pour que l'utilisateur rentre son message à partir de la console mais normalement je dois l'importer d'un fichier texte (ce que je ne sais pas faire)...

Quelqu'un saurait-il m'indiquer comment procéder ?

Voici le programme pour crypter selon le codage de césar
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.util.Scanner;
 
public class cesar
{
  public static void main(final String[] args)
  {
    // On déclare les variables
    int cle, n, i, code;
    String message, message_crypte;
 
    Scanner clavier = new Scanner(System.in);
 
    // On demande a l'utilisateur le message a crypté que l'on affecte a message
    System.out.println("Rentrer votre message a crypté :");
    message = clavier.nextLine();
 
    // On demande a l'utilisateur sa clé de codage que l'on affecte a cle
    System.out.println("Rentrer votre clé decodage : ");
    cle = clavier.nextInt();
 
    // On détermine la taille du message
    n = message.length();
 
    // On affecte une chaine de caractère vide a message_crypte
    message_crypte = "";
 
    // On parcours tous les caractères du message et pour chaque caratères
    for (i = 0; i <= n - 1; i = i + 1)
      ;
    {
      // On affecte à code le code ASCII du caractère message |i|
       code = code ASCII (message(i));
 
      // On soustrait 32 au code ASCII du caractère message|i|
      code = code - 32;
 
      // On ajoute la clé modulo 95 pour crypter
      code = (code + cle) % 95;
 
      // On ajoute 32 à code pour trouver le code ASCII d'un caractère
      code = code + 32;
 
      // On affecte à code le caractère aSCII dont le code ASCII est code
       code = carASCII(code);
 
      // Concaténer le caractère crypté et message_crypte
      message_crypte = message_crypte + code;
 
    }
 
    // On affiche le message crypté
    System.out.println("Voici votre message crypté :" + message_crypte);
  }
}
Programme pour décrypter selon le codage de César :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.Scanner;
 
public class cesar {
 
  public static void main(final String[] args) {
    // On déclare les variables
    int cle, n, i, code;
    String message_crypte, message_decrypte;
 
    final Scanner clavier = new Scanner(System.in);
 
    // On demande a l'utilisateur le message crypté que l'on affecte a
    // message_crypte
    System.out.println("Rentrer votre message crypté :");
    message_crypte = clavier.nextLine();
 
    // On demande a l'utilisateur sa clé de codage que l'on affecte a cle
    System.out.println("Rentrer votre clé decodage : ");
    cle = clavier.nextInt();
 
    // On détermine la taille du message
    n = message_crypte.length();
 
    // On affecte une chaine de caractère vide a message_decrypte
    message_decrypte = "";
 
    // On parcours tous les caractères du message et pour chaque caratères
    for (i = 0; i <= n - 1; i = i + 1) {
      // On affecte à code le code ASCII du caractère message |i|
       code = code ASCII (message(i));
 
      // On soustrait 32 au code ASCII du caractère message|i|
      code = code - 32;
 
      // On ajoute la clé modulo 95 pour décrypter
      code = (code - cle) % 95;
 
      // On ajoute 32 à code pour trouver le code ASCII d'un caractère
      code = code + 32;
 
      // On affecte à code le caractère aSCII dont le code ASCII est code
       code = carASCII(code);
 
      // Concaténer le caractère décrypté et message_decrypte
      message_decrypte = message_decrypte + code;
 
    }
 
    // On affiche le message décrypté
    System.out.println("Voici votre message décrypté :" + message_decrypte);
  }
}
Merci d'avance pour votre aide.