Bonjour, je suis en train de réaliser un projet sur le chiffrement de césar et vigenère.
Après avoir réussi à crypter et décrypter grâce à César, je dois maintenant m'attaquer à Vigenère.
Voici mon code pour 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
55
56
57
58
59
60
61
62
 
 
public class Cesar2 {
 
	private static char[] alphabet = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 
 
 
	private static int posChar(char c, char[] tab)  {
		for(int i = 0; i < tab.length; i++)   { 
			if(tab[i] == c) return i;
		}   return -1; 
	}   
 
 
	public static String crypter(String message, char clé) {
 
		int cleChiffree;
		cleChiffree= posChar(clé,alphabet)+1;
		String result ="";
 
 
 
		for (int i=0; i<message.length();i++){
			for(int j=0;j<alphabet.length;j++){
				if(message.charAt(i)==alphabet[j]){
					int cpt =((j+cleChiffree) % alphabet.length);
					result+= alphabet[cpt];
				}
 
			}
		}
		return result;
 
	}
 
 
	public static String decrypter(String message, char clé) {
 
		int cleChiffree;
		cleChiffree= posChar(clé,alphabet)+1;
		String result ="";
 
		for (int i=0; i<message.length();i++){
			for(int j=0;j<alphabet.length;j++){
				if(message.charAt(i)==alphabet[j]){
 
					int cpt =((j-cleChiffree) % alphabet.length);
 
					if(cpt<0) {
						cpt= 26 -((cpt*-1)% alphabet.length) ;
					}
					result+= alphabet[cpt];
				}
 
			}
		}
		return result;
 
	}
 
}
D'après mon sujet, je dois créer des nouvelles méthodes pour crypter et décrypter vigenère, mais en me servant d'un appel aux méthodes de César, ou alors juste en modifiant quelques lignes.
Serais-t'il possible de m'aider?
Merci