Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>Codifica stringa</title>
- <meta name="author" content="Christian Marongiu">
- <script type="text/javascript">
- /*
- ##################################################################
- ## SCRIPT BY: Christian Marongiu ##
- ## INFO: http://chrmar.altervista.org ##
- ## CONTACT: [email protected] ##
- ## ##
- ## Pagina HTML/JS per un'esempio di crittografia di una ##
- ## parola o stringa ##
- ##################################################################
- */
- function codifica(stringa) {
- var parola = stringa; // La stringa da convertire
- var str = ""; // Inizializzo la stringa codificata
- var msg = "";
- var errore = 0;
- // In fondo alla pagina vi e' la mappa dei caratteri utilizzata per questo script
- /*
- Questo script non accetta spazi vuoti nella stringa, ad esempio una stringa come
- Ciao come va?
- restituira' un'errore (previsto dallo script appunto)
- */
- msg = "Parola da codificare: " + parola + "<br>";
- document.getElementById("parola_da_codificare").innerHTML=msg;
- for(i=0;i<parola.length;i++) {
- var lettera = "" + parola.charAt(i); // prendo ogni lettera della parola
- if(lettera == " ") {
- // se il carattere preso e' uno spazio
- var errore = 1; // errore = 1 significa che ci sono spazi nella stringa da codificare
- }
- if(errore != 1) {
- // se non ci sono errori analizzo la lettera
- switch(lettera) {
- // LETTERE MINUSCOLE
- case "a": // se il carattere preso e' una a
- str += "001"; // aggiungo alla stringa codificata i caratteri: 001
- break;
- case "b": // ecc. ecc.
- str += "002";
- break;
- case "c":
- str += "003";
- break;
- case "d":
- str += "004";
- break;
- case "e":
- str += "005";
- break;
- case "f":
- str += "006";
- break;
- case "g":
- str += "007";
- break;
- case "h":
- str += "008";
- break;
- case "i":
- str += "009";
- break;
- case "j":
- str += "010";
- break;
- case "k":
- str += "011";
- break;
- case "l":
- str += "012";
- break;
- case "m":
- str += "013";
- break;
- case "n":
- str += "014";
- break;
- case "o":
- str += "015";
- break;
- case "p":
- str += "016";
- break;
- case "q":
- str += "017";
- break;
- case "r":
- str += "018";
- break;
- case "s":
- str += "019";
- break;
- case "t":
- str += "020";
- break;
- case "u":
- str += "021";
- break;
- case "v":
- str += "022";
- break;
- case "w":
- str += "023";
- break;
- case "x":
- str += "024";
- break;
- case "y":
- str += "025";
- break;
- case "z":
- str += "026";
- break;
- // LETTERE MAIUSCOLE
- case "A": // se il carattere preso e' una A
- str += "101"; // aggiungo alla stringa codificata i caratteri: 101
- break;
- case "B": // ecc. ecc.
- str += "102";
- break;
- case "C":
- str += "103";
- break;
- case "D":
- str += "104";
- break;
- case "E":
- str += "105";
- break;
- case "F":
- str += "106";
- break;
- case "G":
- str += "107";
- break;
- case "H":
- str += "108";
- break;
- case "I":
- str += "109";
- break;
- case "J":
- str += "110";
- break;
- case "K":
- str += "111";
- break;
- case "L":
- str += "112";
- break;
- case "M":
- str += "113";
- break;
- case "N":
- str += "114";
- break;
- case "O":
- str += "115";
- break;
- case "P":
- str += "116";
- break;
- case "Q":
- str += "117";
- break;
- case "R":
- str += "118";
- break;
- case "S":
- str += "119";
- break;
- case "T":
- str += "120";
- break;
- case "U":
- str += "121";
- break;
- case "V":
- str += "122";
- break;
- case "W":
- str += "123";
- break;
- case "X":
- str += "124";
- break;
- case "Y":
- str += "125";
- break;
- case "Z":
- str += "126";
- break;
- // SIMBOLI
- case "!":
- str += "211";
- break;
- case "@":
- str += "221";
- break;
- case "#":
- str += "231";
- break;
- case "$":
- str += "241";
- break;
- case "%":
- str += "251";
- break;
- case "^":
- str += "261";
- break;
- case "&":
- str += "271";
- break;
- case "*":
- str += "281";
- break;
- case "(":
- str += "291";
- break;
- case ")":
- str += "201";
- break;
- case "_":
- str += "202";
- break;
- case "?":
- str += "203";
- break;
- case "+":
- str += "299";
- break;
- case "-":
- str += "289";
- break;
- case "/":
- str += "279";
- break;
- case "\\": // due barre perche la barra singola \ indica IGNORA IL CARATTERE
- str += "269";
- break;
- case "=":
- str += "259";
- break;
- case "[":
- str += "266";
- break;
- case "]":
- str += "263";
- break;
- case "{":
- str += "256";
- break;
- case "}":
- str += "253";
- break;
- case ".":
- str += "233";
- break;
- case ",":
- str += "234";
- break;
- case ";":
- str += "235";
- break;
- case ":":
- str += "236";
- break;
- case "<":
- str += "225";
- break;
- case ">":
- str += "224";
- break;
- // NUMERI
- case "0":
- str += "300";
- break;
- case "0":
- str += "300";
- break;
- case "1":
- str += "301";
- break;
- case "2":
- str += "302";
- break;
- case "3":
- str += "303";
- break;
- case "4":
- str += "304";
- break;
- case "5":
- str += "305";
- break;
- case "6":
- str += "306";
- break;
- case "7":
- str += "307";
- break;
- case "8":
- str += "308";
- break;
- case "9":
- str += "309";
- break;
- case "":
- // Quando arrivo all'ultimo carattere il FOR crea un ultimo giro
- // con lettera vuota, quindi semplicemente interrompo
- break;
- default: // se non corrisponde a nessuno dei valori precedenti
- errore = 2; // errore = 2 significa che non vedro' la mia stringa codificata
- }
- }
- } // Fine del for
- if(errore == 1) {
- // se e' stato inserito uno spazio nella stringa
- msg = "Gli spazi non sono ammessi!<br>";
- document.getElementById("errore").innerHTML=msg;
- return false;
- }
- if(errore == 2) {
- // se e' stato inserito un carattere non valido
- str = ""; // svuoto comunque la stringa in ogni caso, fuori dal ciclo
- msg = "<br>Caratteri non validi nella parola!<br>";
- document.getElementById("errore").innerHTML=msg;
- return false;
- }
- if(errore == 0) {
- // se non ci sono errori
- msg = "Stringa codificata: " + str;
- document.getElementById("spacer").innerHTML=msg;
- return false;
- }
- } // Fine della funzione
- /*
- MAPPA DEI CARATTERI
- Lettera minuscola = 0 + numero lettera con due cifre
- Lettera maiuscola = 1 + numero lettera con due cifre
- A = 01
- B = 02
- C = 03
- D = 04
- E = 05
- F = 06
- G = 07
- H = 08
- I = 09
- J = 10
- K = 11
- L = 12
- M = 13
- N = 14
- O = 15
- P = 16
- Q = 17
- R = 18
- S = 19
- T = 20
- U = 21
- V = 22
- W = 23
- X = 24
- Y = 25
- Z = 26
- Per i simboli = 2 + un numero di due cifre per ogni simbolo
- ! = 11
- @ = 21
- # = 31
- $ = 41
- % = 51
- ^ = 61
- & = 71
- * = 81
- ( = 91
- ) = 01
- _ = 02
- ? = 03
- + = 99
- - = 89
- / = 79
- \ = 69
- = = 59
- [ = 66
- ] = 63
- { = 56
- } = 53
- . = 33
- , = 34
- ; = 35
- : = 36
- < = 25
- > = 24
- Per i numeri = 30 + il numero
- 0 = 300
- 1 = 301
- 2 = 302
- 3 = 303
- 4 = 304
- 5 = 305
- 6 = 306
- 7 = 307
- 8 = 308
- 9 = 309
- */
- </script>
- </head>
- <body>
- <form name="parola" id="parola">
- Parola: <input type="text" size="24" id="parola_input" />
- <br><br>
- <button onClick="javascript:return codifica(document.getElementById('parola_input').value)">Codifica!</button>
- <br>
- <div id="parola_da_codificare">
- </div>
- <div id="spacer">
- </div>
- <div id="errore">
- </div>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment