Files
tp-algorithmique/algo_js/chiffre_cesar.js
Vincent Guillet 50a97b5c34 fix bug
2025-04-02 12:20:32 +02:00

55 lines
1.5 KiB
JavaScript

const prompt = require('prompt-sync')();
// Chiffre de César
let alphabetArray = [];
alphabetToArray("abcdefghijklmnopqrstuvwxyz");
let message = prompt("Entrez un message à chiffrer : ");
//let decalage = parseInt(prompt("Entrez le décalage : "));
let messageChiffre = cesarEncrypt(message, 3);
let messageDechiffre = cesarDecrypt(messageChiffre, 3);
console.log("Message chiffré : " + messageChiffre);
console.log("Message déchiffré : " + messageDechiffre);
function cesarEncrypt(message, decalage) {
let messageChiffre = "";
for (let i = 0; i < message.length; i++) {
let lettre = message[i];
let index = alphabetArray.indexOf(lettre);
if (index === -1) messageChiffre += lettre;
else {
let indexChiffre = (index + decalage) % alphabetArray.length;
messageChiffre += alphabetArray[indexChiffre];
}
}
return messageChiffre;
}
function cesarDecrypt(message, decalage) {
let messageDechiffre = "";
for (let i = 0; i < message.length; i++) {
let lettre = message[i];
let index = alphabetArray.indexOf(lettre);
if (index === -1) messageDechiffre += lettre;
else {
let indexChiffre = ((index - decalage + alphabetArray.length) % alphabetArray.length);
messageDechiffre += alphabetArray[indexChiffre];
}
}
return messageDechiffre;
}
function alphabetToArray(alphabet) {
for (let i = 0; i < alphabet.length; i++) {
alphabetArray.push(alphabet[i]);
}
}