Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
JavaScript - Cryptage César ?
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Paul GTP" data-source="post: 6965602" data-attributes="member: 315249"><p>Hey <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /> J'essaie de créer une fonction en JavaScript pour crypter un texte grâce à une</p><p></p><p></p><p>J'ai fait un code (pas optimisé du tout, je vous l'accorde) qui ressemble à ça. Seulement, ce code rencontre un problème.</p><p></p><p>Admettons que je tape le mot "test". Le code remplace lettre par lettre mais ne s'arrête pas à un seul changement:</p><ul> <li data-xf-list-type="ul">t est remplacé par w<br /> w est remplacé par z<br /> <strong><span style="color: #0059b3">z est remplacé par c</span></strong></li> <li data-xf-list-type="ul">e est remplacé par h<br /> h est remplacé par k<br /> k est remplacé par n<br /> n est remplacé par q<br /> q est remplacé par t<br /> t est remplacé par w<br /> w est remplacé par z<br /> <strong><span style="color: #0059b3">z est remplacé par c</span></strong><br /> </li> <li data-xf-list-type="ul">s est remplacé par v<br /> v est remplacé par y<br /> <strong><span style="color: #0059b3">y est remplacé par b</span></strong></li> <li data-xf-list-type="ul">t est remplacé par w<br /> w est remplacé par z<br /> <strong><span style="color: #0059b3"><strong><span style="color: #0059b3">z est remplacé par c</span></strong></span></strong></li> </ul><p>Le programme affiche donc <strong><span style="color: #0059b3">ccbc</span></strong> !</p><p></p><p>Le problème est donc que le code s'exécute en boucle. Alors là certains d'entre vous me diront peut-être</p><p></p><p>Ce à quoi je vous répondrai</p><p></p><p></p><p>Voici ce que je cherche à faire comprendre au code si je rentrais le mot <strong><span style="color: #0059b3">test</span></strong>:</p><ul> <li data-xf-list-type="ul">t est remplacé par w</li> <li data-xf-list-type="ul">e est remplacé par h</li> <li data-xf-list-type="ul">s est remplacé par v</li> <li data-xf-list-type="ul">t est remplacé par w</li> </ul><p>Le programme afficherait donc <strong><span style="color: #0059b3">whvw</span></strong> !</p><p>Je sais que mon code est incorrect, mais je vous laisse une trace de ce que j'ai fait:</p><p>[CODE]</p><p>function cesar() {</p><p> var message = document.getElementById("cesar").value;</p><p></p><p> for (i = 0; i < message.length; i++) {</p><p> var message = message.replace(/a/gm, "d");</p><p> var message = message.replace(/b/gm, "e");</p><p> var message = message.replace(/c/gm, "f");</p><p> var message = message.replace(/d/gm, "g");</p><p> var message = message.replace(/e/gm, "h");</p><p> var message = message.replace(/f/gm, "i");</p><p> var message = message.replace(/g/gm, "j");</p><p> var message = message.replace(/h/gm, "k");</p><p> var message = message.replace(/i/gm, "l");</p><p> var message = message.replace(/j/gm, "m");</p><p> var message = message.replace(/k/gm, "n");</p><p> var message = message.replace(/l/gm, "o");</p><p> var message = message.replace(/m/gm, "p");</p><p> var message = message.replace(/n/gm, "q");</p><p> var message = message.replace(/o/gm, "r");</p><p> var message = message.replace(/p/gm, "s");</p><p> var message = message.replace(/q/gm, "t");</p><p> var message = message.replace(/r/gm, "u");</p><p> var message = message.replace(/s/gm, "v");</p><p> var message = message.replace(/t/gm, "w");</p><p> var message = message.replace(/u/gm, "x");</p><p> var message = message.replace(/v/gm, "y");</p><p> var message = message.replace(/w/gm, "z");</p><p> var message = message.replace(/x/gm, "a");</p><p> var message = message.replace(/y/gm, "b");</p><p> var message = message.replace(/z/gm, "c");</p><p> var message = message.replace(/A/gm, "D");</p><p> var message = message.replace(/B/gm, "E");</p><p> var message = message.replace(/C/gm, "F");</p><p> var message = message.replace(/D/gm, "G");</p><p> var message = message.replace(/E/gm, "H");</p><p> var message = message.replace(/F/gm, "I");</p><p> var message = message.replace(/G/gm, "J");</p><p> var message = message.replace(/H/gm, "K");</p><p> var message = message.replace(/I/gm, "L");</p><p> var message = message.replace(/J/gm, "M");</p><p> var message = message.replace(/K/gm, "N");</p><p> var message = message.replace(/L/gm, "O");</p><p> var message = message.replace(/M/gm, "P");</p><p> var message = message.replace(/N/gm, "Q");</p><p> var message = message.replace(/O/gm, "R");</p><p> var message = message.replace(/P/gm, "S");</p><p> var message = message.replace(/Q/gm, "T");</p><p> var message = message.replace(/R/gm, "U");</p><p> var message = message.replace(/S/gm, "V");</p><p> var message = message.replace(/T/gm, "W");</p><p> var message = message.replace(/U/gm, "X");</p><p> var message = message.replace(/V/gm, "Y");</p><p> var message = message.replace(/W/gm, "Z");</p><p> var message = message.replace(/X/gm, "A");</p><p> var message = message.replace(/Y/gm, "B");</p><p> var message = message.replace(/Z/gm, "C");</p><p> </p><p> document.getElementById("valuecesar").innerHTML += message[i];</p><p> }</p><p>}</p><p>[/CODE]</p><p></p><p>[SPOILER=Mon code HTML]</p><p>Ça n'est pas d'une grande utilité, mais je sens qu'on va me le demander en commentaires <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite129" alt=":d:" title="Regard de travers :d:" loading="lazy" data-shortname=":d:" /></p><p>Voici donc un bout de ma page <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></p><p>[HTML]</p><p> <div class="character"></p><p> <p>Entre un message à crypter:<br /></p><p> <input type="text" id="cesar" /><br /></p><p> <button onclick="cesar()">Crypter</button></p></p><p> </p><p> <p><b>Message crypté:</b> <span id="valuecesar"></span><br /></p></p><p> </div></p><p>[/HTML]</p><p>[/SPOILER]</p><p></p><p>Comment arriver à mon objectif ? Le but serait d'utiliser les bases de JS sans trop rentrer dans la complexité.</p><p></p><p><em><strong><span style="color: #0059b3">Facultatif:</span></strong> Si vous savez compiler un peu le code (du genre var alphabet = "abcdefghijklmnopqrstuvw") en restant simple ce serait parfait <img src="/data/assets/smilies/mmh.gif" class="smilie" loading="lazy" alt=":mmh:" title="Mmh :mmh:" data-shortname=":mmh:" /></em></p><p><em></em></p><p>S'il vous faut plus d'informations, n'hésitez pas à me les demander <img src="/data/assets/smilies/joueur.gif" class="smilie" loading="lazy" alt=":p" title="Joueur :p" data-shortname=":p" /></p><p>Merci d'avance <img src="/data/assets/smilies/bye.gif" class="smilie" loading="lazy" alt=":bye:" title="Bye :bye:" data-shortname=":bye:" /></p></blockquote><p></p>
[QUOTE="Paul GTP, post: 6965602, member: 315249"] Hey ;) J'essaie de créer une fonction en JavaScript pour crypter un texte grâce à une J'ai fait un code (pas optimisé du tout, je vous l'accorde) qui ressemble à ça. Seulement, ce code rencontre un problème. Admettons que je tape le mot "test". Le code remplace lettre par lettre mais ne s'arrête pas à un seul changement: [LIST] [*]t est remplacé par w w est remplacé par z [B][COLOR=#0059b3]z est remplacé par c[/COLOR][/B] [*]e est remplacé par h h est remplacé par k k est remplacé par n n est remplacé par q q est remplacé par t t est remplacé par w w est remplacé par z [B][COLOR=#0059b3]z est remplacé par c[/COLOR][/B] [*]s est remplacé par v v est remplacé par y [B][COLOR=#0059b3]y est remplacé par b[/COLOR][/B] [*]t est remplacé par w w est remplacé par z [B][COLOR=#0059b3][B][COLOR=#0059b3]z est remplacé par c[/COLOR][/B][/COLOR][/B] [/LIST] Le programme affiche donc [B][COLOR=#0059b3]ccbc[/COLOR][/B] ! Le problème est donc que le code s'exécute en boucle. Alors là certains d'entre vous me diront peut-être Ce à quoi je vous répondrai Voici ce que je cherche à faire comprendre au code si je rentrais le mot [B][COLOR=#0059b3]test[/COLOR][/B]: [LIST] [*]t est remplacé par w [*]e est remplacé par h [*]s est remplacé par v [*]t est remplacé par w [/LIST] Le programme afficherait donc [B][COLOR=#0059b3]whvw[/COLOR][/B] ! Je sais que mon code est incorrect, mais je vous laisse une trace de ce que j'ai fait: [CODE] function cesar() { var message = document.getElementById("cesar").value; for (i = 0; i < message.length; i++) { var message = message.replace(/a/gm, "d"); var message = message.replace(/b/gm, "e"); var message = message.replace(/c/gm, "f"); var message = message.replace(/d/gm, "g"); var message = message.replace(/e/gm, "h"); var message = message.replace(/f/gm, "i"); var message = message.replace(/g/gm, "j"); var message = message.replace(/h/gm, "k"); var message = message.replace(/i/gm, "l"); var message = message.replace(/j/gm, "m"); var message = message.replace(/k/gm, "n"); var message = message.replace(/l/gm, "o"); var message = message.replace(/m/gm, "p"); var message = message.replace(/n/gm, "q"); var message = message.replace(/o/gm, "r"); var message = message.replace(/p/gm, "s"); var message = message.replace(/q/gm, "t"); var message = message.replace(/r/gm, "u"); var message = message.replace(/s/gm, "v"); var message = message.replace(/t/gm, "w"); var message = message.replace(/u/gm, "x"); var message = message.replace(/v/gm, "y"); var message = message.replace(/w/gm, "z"); var message = message.replace(/x/gm, "a"); var message = message.replace(/y/gm, "b"); var message = message.replace(/z/gm, "c"); var message = message.replace(/A/gm, "D"); var message = message.replace(/B/gm, "E"); var message = message.replace(/C/gm, "F"); var message = message.replace(/D/gm, "G"); var message = message.replace(/E/gm, "H"); var message = message.replace(/F/gm, "I"); var message = message.replace(/G/gm, "J"); var message = message.replace(/H/gm, "K"); var message = message.replace(/I/gm, "L"); var message = message.replace(/J/gm, "M"); var message = message.replace(/K/gm, "N"); var message = message.replace(/L/gm, "O"); var message = message.replace(/M/gm, "P"); var message = message.replace(/N/gm, "Q"); var message = message.replace(/O/gm, "R"); var message = message.replace(/P/gm, "S"); var message = message.replace(/Q/gm, "T"); var message = message.replace(/R/gm, "U"); var message = message.replace(/S/gm, "V"); var message = message.replace(/T/gm, "W"); var message = message.replace(/U/gm, "X"); var message = message.replace(/V/gm, "Y"); var message = message.replace(/W/gm, "Z"); var message = message.replace(/X/gm, "A"); var message = message.replace(/Y/gm, "B"); var message = message.replace(/Z/gm, "C"); document.getElementById("valuecesar").innerHTML += message[i]; } } [/CODE] [SPOILER=Mon code HTML] Ça n'est pas d'une grande utilité, mais je sens qu'on va me le demander en commentaires (d) Voici donc un bout de ma page ;) [HTML] <div class="character"> <p>Entre un message à crypter:<br /> <input type="text" id="cesar" /><br /> <button onclick="cesar()">Crypter</button></p> <p><b>Message crypté:</b> <span id="valuecesar"></span><br /></p> </div> [/HTML] [/SPOILER] Comment arriver à mon objectif ? Le but serait d'utiliser les bases de JS sans trop rentrer dans la complexité. [I][B][COLOR=#0059b3]Facultatif:[/COLOR][/B] Si vous savez compiler un peu le code (du genre var alphabet = "abcdefghijklmnopqrstuvw") en restant simple ce serait parfait :mmh: [/I] S'il vous faut plus d'informations, n'hésitez pas à me les demander :p Merci d'avance :bye: [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
JavaScript - Cryptage César ?
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut