55 lines
1.5 KiB
JavaScript
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]);
|
|
}
|
|
} |