52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
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]);
|
|
}
|
|
} |