Bonsoir tout le monde,
j'aurai besoin d'un petit coup de pouce. J'ai un petit projet (si on peut appeler cela comme ça) à faire en info, mais je suis complètement bloqué je n'arrive pas a avancé.
Je dois créer une fonction qui crypte un message selon une clé (cryptage de Vigenère). Mais je ne sais pas quoi faire lorsque la longueur de la cle est inferieur à celle du message.
Si certains pouvaient m'éclairer je vous en serai reconnaissant merci d'avance et voici le script:
var message = prompt();
var cle = prompt();
new_message = '';
if (Longueur(cle) < Longueur(message)) {
for (var i = 0; i < Longueur(message); i++) {
num_car1 = Caractere_vers_Ascii(message[i]);
if (i > Longueur(cle)) {
num_car2 = Caractere_vers_Ascii(cle[i % Longueur(cle)]);
}
new_num_car = num_car1 + (num_car2 % 26);
if (new_num_car > Caractere_vers_Ascii('Z')) {
new_num_car = new_num_car - 26;
}
new_message = new_message + enChaine(Ascii_vers_Caractere(new_num_car));
}
} else {
for (var j = 0; j < Longueur(message); j++) {
num_car1 = Caractere_vers_Ascii(message[j]);
num_car2 = Caractere_vers_Ascii(cle[j]);
new_num_car = num_car1 + (num_car2 % 26);
if (new_num_car > Caractere_vers_Ascii('Z')) {
new_num_car = new_num_car - 26;
}
new_message = new_message + enChaine(Ascii_vers_Caractere(new_num_car));
}
}
Ecrire(new_message)
j'ai aussi essayé ceci:
var message = prompt();
var cle = prompt();
new_message = '';
for (var j = 0; j < Longueur(message); j++) {
num_car1 = Caractere_vers_Ascii(message[j]);
if (j > Longueur(cle)) {
k = j % Longueur(cle);
num_car2 = Caractere_vers_Ascii(cle[k]);
} else {
num_car2 = Caractere_vers_Ascii(cle[j]);
}
new_num_car = num_car1 + (num_car2 % 26);
if (new_num_car > Caractere_vers_Ascii('Z')) {
new_num_car = new_num_car - 26;
}
new_message = new_message + enChaine(Ascii_vers_Caractere(new_num_car));
}
Ecrire(new_message);
sans succès
PS: c'est un pseudo language, je ne m'y connais pas trop.