[Javascript] Risoluzione funzione cifrario di Cesare

Strato-Fortex

Nuovo Utente
3 Mag 2017
1
0
1
21
Salve, mi sono appena iscritto, volevo spiegarvi il mio problema.
Praticamente, io do in input una variabile che si chiama parola, e questa variabile conterrà successivamente delle parole tipo (ciao) e così via. Avrei bisogno di una funzione che mi faccia incrementare ogni lettera della parola di 3, come il cifrario di Cesare.
Per esempio se ho la parola ciao, aumentando di 3 lettere diventa fldr.
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, da provare
HTML:
<script>
    // codici ascii  a =97  ; z = 122
    function codifica() {
        var parola = document.getElementById("parola").value;
        var codifica = "";
        for (i in parola) {
            var x = parola.charCodeAt(i) + 3 <= 122 ? parola.charCodeAt(i) + 3 : 96 + (parola.charCodeAt(i) + 3 - 122);
            codifica += String.fromCharCode(x);
        }
        alert(codifica);
    }
</script>
<input type="text" id="parola" name="parola"/>
<input type="button" value="codifica" onclick="codifica()"/>
funziona solo con le lettere e solo con le minuscole, enentualmente è da modificare la valorizzazione della x.
In pratica incrementea di 3 il codice ascii di ogni lettera della parola scritta.
 

Samuele Ronzani

Utente Attivo
7 Ott 2016
42
0
6
Vi pubblico il codice completato, con la funzione di codifica e decodifica in PHP.
Non si sa mai, potrebbe servire a qualcun altro.
HTML:
<html>
<head>
</head>
<body>
<script>
    // codici ascii  a =97  ; z = 122
    function codifica() {
        var parola = document.getElementById("parola").value;
        var codifica = "";
        for (i in parola) {
            var x = parola.charCodeAt(i) + 3 <= 122 ? parola.charCodeAt(i) + 3 : 96 + (parola.charCodeAt(i) + 3 - 122);
            codifica += String.fromCharCode(x);
        }
        alert(codifica);
    }
</script>
<script>
    // codici ascii  a =97  ; z = 122
    function decodifica() {
        var parola = document.getElementById("parola").value;
        var decodifica = "";
        for (i in parola) {
            var x = parola.charCodeAt(i) - 3 <= 122 ? parola.charCodeAt(i) - 3 : 96 - (parola.charCodeAt(i) - 3 - 122);
            decodifica += String.fromCharCode(x);
        }
        alert(decodifica);
    }
</script>
<input type="text" id="parola" name="parola"/>
<input type="button" value="codifica" onclick="codifica()"/>
<input type="button" value="decodifica" onclick="decodifica()"/>
</body>
</html>