Comment coder le chiffrement César: une introduction au chiffrement de base

Le César Cipher est une implémentation célèbre du cryptage précoce. Il faudrait une phrase et la réorganiser en fonction d’une clé qui est édictée sur l’alphabet. Prenons, par exemple, une clé de 3 et la phrase «J’aime porter des chapeaux».

Lorsque cette phrase est chiffrée à l’aide d’une clé de 3, elle devient:

L olnh wr zhdu kdwv.

Cela rend la lecture difficile et permet aux messages d’être transmis sans être détectés.

Bien qu’il s’agisse d’un exemple très simple de chiffrement, c’est un projet parfait pour quelqu’un qui apprend à coder pour s’entraîner.

Comprendre le chiffrement

Pour implémenter ce code, au moins en JAVA, vous auriez besoin de réfléchir à ce qui est réellement fait. Voyons donc les étapes nécessaires pour coder ceci.

Étape 1: Identifiez le caractère dans la phrase.

Étape 2: recherchez l’emplacement de ce caractère dans l’alphabet.

Étape 3: Identifiez l’emplacement de ces caractères + la clé dans l’alphabet.

Remarque * si l’emplacement + clé & gt; 26, faites une boucle et commencez à compter à un.

Étape 4: Construisez une nouvelle phrase en utilisant les nouveaux caractères à la place des caractères d’origine.

Étape 5: répétez jusqu’à ce que la longueur de la phrase soit atteinte. (Boucle For).

Étape 6: retournez le résultat.

Codage du chiffrement

Bien que ce soient de très bonnes étapes à suivre, nous devrions penser à ce que nous aurions besoin de faire dans le code.

Étape 0: Établissez une fonction qui lit un message et une clé.

Quelque chose comme ça:

Étape 1: Identifiez le caractère dans la phrase.

Pour ce faire, nous devrons établir un alphabet à regarder.

Établissez un «alphabet» variable composé des 26 lettres de l’alphabet.

Étape 2: recherchez l’emplacement de ce caractère dans l’alphabet.

Ensuite, créez une boucle for qui traverse chaque caractère du message. Ce sera plus facile à faire si nous établissons un StringBuilder.

À ce stade, nous devons nous assurer que l’endroit est une lettre.

Étape 3: Identifiez l’emplacement de ce caractère + la clé dans l’alphabet.

Si c’est une lettre, alors nous devons trouver l’endroit dans l’alphabet modifié. Nous n’avons pas encore défini de variable alphabétique modifiée, nous devrions donc le faire maintenant.

Étape 4: Construisez une nouvelle phrase en utilisant les nouveaux caractères à la place des caractères d’origine.

Une fois que nous avons trouvé la valeur dans l’alphabet modifié, nous devons la définir au même emplacement dans le StringBuilder que nous avons créé.

Étape 5: répétez jusqu’à ce que la longueur de la phrase soit atteinte. (Boucle For)

Maintenant, nous avons vérifié si le caractère est en majuscule, mais nous devons également vérifier si le caractère est en minuscule. Pour ce faire, nous devons accéder à alphabet2 que nous avons créé précédemment.

Étape 6: retournez le résultat.

Nous avons maintenant terminé la boucle For. Il ne nous reste plus qu’à le quitter et à renvoyer la chaîne.

Étape 7: débogage.

Mais attendez! Cela ne fonctionnera pas! encrypted n’est pas une chaîne, c’est un StringBuilder et cette fonction nécessite spécifiquement qu’une chaîne soit renvoyée!

Heureusement, il existe une fonction très simple pour remédier à cet oubli.

C’est ainsi que vous obtenez la version cryptée de votre phrase originale. Essayez-le par vous-même!

Merci d’avoir lu!