Maison >interface Web >js tutoriel >Comment construire une machine à chiffre avec JavaScript
Ce tutoriel vous montre comment construire une machine de chiffre Caesar à l'aide de JavaScript. Le chiffre de César déplace chaque lettre dans un message un certain nombre d'endroits.
Nous allons créer une page HTML avec un formulaire pour saisir le message et la valeur de décalage, et un div pour afficher le résultat crypté.
Le code JavaScript comprend:
encrypt
appliquant le chiffre de César, manipulant des caractères non alphabet et la sensibilité aux cas. Voici un exemple du code fini. Expérimentez la création de messages secrets!
Tout d'abord, créez caesar.html
:
<code class="language-html"><!DOCTYPE html> <meta charset="utf-8"> <title>Caesar Cipher</title> <h1>Caesar Cipher</h1> <form> <label>Plaintext:</label> <textarea name="plaintext">Top Secret</textarea><br> <label>Shift:</label> <input type="number" name="shift" value="5" min="1" max="26"> <input type="submit" value="encrypt"> </form> <h2>Output</h2> <div id="output"></div> </code>
Ce HTML crée une forme simple. L'entrée de changement par défaut est à 5, mais vous pouvez l'ajuster.
Ensuite, créez main.js
dans le même dossier:
<code class="language-javascript">const alphabet = [ 'A','B','C','D','E','F', 'G','H','I','J','K','L', 'M','N','O','P','Q','R', 'S','T','U','V','W','X', 'Y','Z' ]; const form = document.forms[0]; const output = document.getElementById('output'); form.addEventListener ('submit',event => { event.preventDefault(); output.innerHTML = [...form.plaintext.value].map(char => encrypt(char)).join(''); }); function encrypt(char) { const shift = Number(form.shift.value); if (alphabet.includes(char.toUpperCase())) { const position = alphabet.indexOf(char.toUpperCase()); const newPosition = (position + shift)%26; return alphabet[newPosition]; } else { return char; } }</code>
Ce code JavaScript définit l'alphabet, obtient des éléments de formulaire, ajoute un écouteur d'événements pour gérer la soumission de formulaire et comprend la fonction encrypt
qui exécute le chiffre Caesar. La fonction encrypt
gère les lettres majuscules; Les lettres minuscules sont gérées implicitement par les méthodes includes
et indexOf
.
Cela complète la machine à chiffre de Caesar. N'oubliez pas qu'il s'agit d'un chiffre simple et ne convient pas à une communication sécurisée.
Questions fréquemment posées (FAQ) (résumé pour la brièveté)
StringBuilder
pour une manipulation de chaîne plus rapide. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!