Exercice

Le chiffre de César est un chiffrement très simple qui décale chaque lettre d'un nombre constant. Par exemple, pour un chiffre de César de rang 3, un a devient un d, un b devient un e, un c devient un f, etc.

Voici l'algorithme de déchiffrement pour un chiffre de César de rang 3 :

1
Algo César:
2
3
Entrée:
4
    texte_chiffré, chaîne de caractère
5
6
Pour tout i de 1 à longueur(texte_chiffré) faire:
7
    Si texte_chiffré[i] = " " alors:
8
        Afficher " "
9
    Sinon:
10
        lettre_chiffrée prend la valeur texte_chiffré[i]
11
        lettre_déchiffrée prend la valeur lettre_chiffrée - 3 rangs
12
        Affiche lettre_déchiffrée
13
    FinSi
14
FinPour

Question

Voici les morceaux de JavaScript. Les mettre dans le bon ordre pour obtenir le programme permettant de déchiffrer le chiffre de César.

1
const cipher = (prompt('Entrer a cipher')).toLowerCase()
2
---
3
if (cipher[i] === ' ') {[CODE]} else {[CODE]}
4
---
5
for (let i = 0; i < cipher.length; i++){[CODE]}
6
---
7
console.log(" ")
8
---
9
const encryptedLetter = cipher.charCodeAt(i)
10
const realLetter = String.fromCharCode(((encryptedLetter - 97 + 26 - 3 ) % 26) + 97)
11
console.log(realLetter)

Solution

1
const cipher = (prompt('Entrer a cipher')).toLowerCase()
2
3
for (let i = 0; i < cipher.length; i++) {
4
  if (cipher[i] === ' ') {
5
    console.log(' ')
6
  } else {
7
    const encryptedLetter = cipher.charCodeAt(i)
8
    const realLetter = String.fromCharCode(((encryptedLetter - 97 + 26 - 3) % 26) + 97)
9
    console.log(realLetter)
10
  }
11
}
12

Question

Déchiffrer le texte suivant : « yrxv srxyhc dffhghu dx txlcc ghvrupdlv ».

Solution

Ce qui donne : « vous pouvez acceder au quizz desormais ».