first commit with existing project files
This commit is contained in:
52
algo_js/chiffre_cesar.js
Normal file
52
algo_js/chiffre_cesar.js
Normal 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]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user