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;
}
} |