first commit with existing project files

This commit is contained in:
Vincent Guillet
2025-04-02 11:33:15 +02:00
parent f447ea8a0f
commit c8e200b42f
18 changed files with 515 additions and 0 deletions

52
algo_js/chiffre_cesar.js Normal file
View File

@@ -0,0 +1,52 @@
const prompt = require('prompt-sync')();
// Chiffre de César
let alphabetArray = [];
alphabetToArray("abcdefghijklmnopqrstuvwxyz");
let message = prompt("Entrez un message à chiffrer : ");
let messageChiffre = cesarEncrypt(message, 13);
console.log("Message chiffré : " + messageChiffre);
console.log("Message déchiffré : " + cesarDecrypt(messageChiffre, 13));
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 = 1; i < alphabet.length; i++) {
alphabetArray.push(alphabet[i]);
}
}