marongiuchristian93

[JS] 4 - Codifica di una stringa

Apr 12th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <html>
  2. <head>
  3. <title>Codifica stringa</title>
  4. <meta name="author" content="Christian Marongiu">
  5. <script type="text/javascript">
  6.  
  7. /*
  8. ##################################################################
  9. ## SCRIPT BY:       Christian Marongiu          ##
  10. ## INFO:        http://chrmar.altervista.org        ##
  11. ## CONTACT:     [email protected]       ##
  12. ##                              ##
  13. ## Pagina HTML/JS per un'esempio di crittografia di una     ##
  14. ## parola o stringa                     ##
  15. ##################################################################
  16. */
  17.  
  18. function codifica(stringa) {
  19. var parola = stringa; // La stringa da convertire
  20. var str = ""; // Inizializzo la stringa codificata
  21. var msg = "";
  22. var errore = 0;
  23.  
  24. // In fondo alla pagina vi e' la mappa dei caratteri utilizzata per questo script
  25.  
  26. /*
  27. Questo script non accetta spazi vuoti nella stringa, ad esempio una stringa come
  28. Ciao come va?
  29. restituira' un'errore (previsto dallo script appunto)
  30. */
  31. msg = "Parola da codificare: " + parola + "<br>";
  32. document.getElementById("parola_da_codificare").innerHTML=msg;
  33.  
  34. for(i=0;i<parola.length;i++) {
  35.     var lettera = "" + parola.charAt(i); // prendo ogni lettera della parola   
  36.     if(lettera == " ") {
  37.         // se il carattere preso e' uno spazio     
  38.         var errore = 1; // errore = 1 significa che ci sono spazi nella stringa da codificare
  39.     }
  40.     if(errore != 1) {
  41.     // se non ci sono errori analizzo la lettera           
  42.         switch(lettera) {
  43.                 // LETTERE MINUSCOLE
  44.             case "a": // se il carattere preso e' una a
  45.                 str += "001"; // aggiungo alla stringa codificata i caratteri: 001
  46.                 break;
  47.             case "b": // ecc. ecc.
  48.                 str += "002";
  49.                 break;
  50.             case "c":
  51.                 str += "003";
  52.                 break;
  53.             case "d":
  54.                 str += "004";
  55.                 break;
  56.             case "e":
  57.                 str += "005";
  58.                 break;
  59.             case "f":              
  60.                 str += "006";
  61.                 break;
  62.             case "g":
  63.                 str += "007";
  64.                 break;
  65.             case "h":
  66.                 str += "008";
  67.                 break;
  68.             case "i":
  69.                 str += "009";
  70.                 break;
  71.             case "j":
  72.                 str += "010";
  73.                 break;
  74.             case "k":
  75.                 str += "011";
  76.                 break;
  77.             case "l":
  78.                 str += "012";
  79.                 break; 
  80.             case "m":
  81.                 str += "013";
  82.                 break;
  83.             case "n":
  84.                 str += "014";
  85.                 break;
  86.             case "o":
  87.                 str += "015";
  88.                 break;
  89.             case "p":
  90.                 str += "016";
  91.                 break;
  92.             case "q":
  93.                 str += "017";
  94.                 break;
  95.             case "r":
  96.                 str += "018";
  97.                 break;
  98.             case "s":
  99.                 str += "019";
  100.                 break;
  101.             case "t":
  102.                 str += "020";
  103.                 break;
  104.             case "u":
  105.                 str += "021";
  106.                 break;
  107.             case "v":
  108.                 str += "022";
  109.                 break;
  110.             case "w":
  111.                 str += "023";
  112.                 break;
  113.             case "x":
  114.                 str += "024";
  115.                 break;
  116.             case "y":
  117.                 str += "025";
  118.                 break;
  119.             case "z":
  120.                 str += "026";
  121.                 break;
  122.            
  123.             // LETTERE MAIUSCOLE
  124.             case "A": // se il carattere preso e' una A
  125.                 str += "101"; // aggiungo alla stringa codificata i caratteri: 101
  126.                 break;
  127.             case "B": // ecc. ecc.
  128.                 str += "102";
  129.                 break;
  130.             case "C":
  131.                 str += "103";
  132.                 break;
  133.             case "D":
  134.                 str += "104";
  135.                 break; 
  136.             case "E":
  137.                 str += "105";
  138.                 break;
  139.             case "F":
  140.                 str += "106";
  141.                 break;
  142.             case "G":
  143.                 str += "107";
  144.                 break;
  145.             case "H":
  146.                 str += "108";
  147.                 break;
  148.             case "I":
  149.                 str += "109";
  150.                 break;
  151.             case "J":
  152.                 str += "110";
  153.                 break;
  154.             case "K":
  155.                 str += "111";
  156.                 break;
  157.             case "L":
  158.                 str += "112";
  159.                 break;
  160.             case "M":
  161.                 str += "113";
  162.                 break;
  163.             case "N":
  164.                 str += "114";
  165.                 break; 
  166.             case "O":
  167.                 str += "115";
  168.                 break;
  169.             case "P":
  170.                 str += "116";
  171.                 break;
  172.             case "Q":
  173.                 str += "117";
  174.                 break;
  175.             case "R":
  176.                 str += "118";
  177.                 break;
  178.             case "S":
  179.                 str += "119";
  180.                 break;
  181.             case "T":
  182.                 str += "120";
  183.                 break;
  184.             case "U":
  185.                 str += "121";
  186.                 break;
  187.             case "V":
  188.                 str += "122";
  189.                 break;
  190.             case "W":
  191.                 str += "123";
  192.                 break;
  193.             case "X":
  194.                 str += "124";
  195.                 break;
  196.             case "Y":
  197.                 str += "125";
  198.                 break;
  199.             case "Z":
  200.                 str += "126";
  201.                 break;             
  202.            
  203.             // SIMBOLI 
  204.             case "!":
  205.                 str += "211";
  206.                 break;
  207.             case "@":
  208.                 str += "221";
  209.                 break;
  210.             case "#":
  211.                 str += "231";
  212.                 break;
  213.             case "$":
  214.                 str += "241";
  215.                 break;
  216.             case "%":
  217.                 str += "251";
  218.                 break;
  219.             case "^":
  220.                 str += "261";
  221.                 break;
  222.             case "&":
  223.                 str += "271";
  224.                 break;
  225.             case "*":
  226.                 str += "281";
  227.                 break;
  228.             case "(":
  229.                 str += "291";
  230.                 break;
  231.             case ")":
  232.                 str += "201";
  233.                 break;
  234.             case "_":
  235.                 str += "202";
  236.                 break;
  237.             case "?":
  238.                 str += "203";
  239.                 break;
  240.             case "+":
  241.                 str += "299";
  242.                 break;
  243.             case "-":
  244.                 str += "289";
  245.                 break;
  246.             case "/":
  247.                 str += "279";
  248.                 break;
  249.             case "\\": // due barre perche la barra singola \ indica IGNORA IL CARATTERE
  250.                 str += "269";
  251.                 break;
  252.             case "=":
  253.                 str += "259";
  254.                 break;
  255.             case "[":
  256.                 str += "266";
  257.                 break;
  258.             case "]":
  259.                 str += "263";
  260.                 break;
  261.             case "{":
  262.                 str += "256";
  263.                 break;
  264.             case "}":
  265.                 str += "253";
  266.                 break;
  267.             case ".":
  268.                 str += "233";
  269.                 break;
  270.             case ",":
  271.                 str += "234";
  272.                 break;
  273.             case ";":
  274.                 str += "235";
  275.                 break;
  276.             case ":":
  277.                 str += "236";
  278.                 break;
  279.             case "<":
  280.                 str += "225";
  281.                 break;
  282.             case ">":
  283.                 str += "224";
  284.                 break;
  285.  
  286.             // NUMERI
  287.             case "0":
  288.                 str += "300";
  289.                 break;
  290.             case "0":
  291.                 str += "300";
  292.                 break;
  293.             case "1":
  294.                 str += "301";
  295.                 break;
  296.             case "2":
  297.                 str += "302";
  298.                 break;
  299.             case "3":
  300.                 str += "303";
  301.                 break;
  302.             case "4":
  303.                 str += "304";
  304.                 break;
  305.             case "5":
  306.                 str += "305";
  307.                 break;
  308.             case "6":
  309.                 str += "306";
  310.                 break;
  311.             case "7":
  312.                 str += "307";
  313.                 break;
  314.             case "8":
  315.                 str += "308";
  316.                 break;
  317.             case "9":
  318.                 str += "309";
  319.                 break;         
  320.  
  321.             case "":
  322.             // Quando arrivo all'ultimo carattere il FOR crea un ultimo giro
  323.             // con lettera vuota, quindi semplicemente interrompo
  324.             break;             
  325.                
  326.             default: // se non corrisponde a nessuno dei valori precedenti         
  327.                 errore = 2; // errore = 2 significa che non vedro' la mia stringa codificata                                   
  328.             }
  329.            
  330.         }          
  331. } // Fine del for
  332.  
  333. if(errore == 1) {
  334.         // se e' stato inserito uno spazio nella stringa
  335.         msg = "Gli spazi non sono ammessi!<br>";
  336.         document.getElementById("errore").innerHTML=msg;
  337.         return false;
  338. }
  339.  
  340. if(errore == 2) {
  341.     // se e' stato inserito un carattere non valido
  342.     str = ""; // svuoto comunque la stringa in ogni caso, fuori dal ciclo
  343.     msg = "<br>Caratteri non validi nella parola!<br>";
  344.     document.getElementById("errore").innerHTML=msg;
  345.     return false;
  346. }
  347.  
  348. if(errore == 0) {
  349.     // se non ci sono errori
  350.     msg = "Stringa codificata: " + str;
  351.     document.getElementById("spacer").innerHTML=msg;   
  352.     return false;
  353. }
  354.  
  355. } // Fine della funzione
  356.  
  357. /*
  358. MAPPA DEI CARATTERI
  359.  
  360. Lettera minuscola = 0 + numero lettera con due cifre
  361. Lettera maiuscola = 1 + numero lettera con due cifre
  362.  
  363. A = 01
  364. B = 02
  365. C = 03
  366. D = 04
  367. E = 05
  368. F = 06
  369. G = 07
  370. H = 08
  371. I = 09
  372. J = 10
  373. K = 11
  374. L = 12
  375. M = 13
  376. N = 14
  377. O = 15
  378. P = 16
  379. Q = 17
  380. R = 18
  381. S = 19
  382. T = 20
  383. U = 21
  384. V = 22
  385. W = 23
  386. X = 24
  387. Y = 25
  388. Z = 26
  389.  
  390. Per i simboli = 2 + un numero di due cifre per ogni simbolo
  391.  
  392. ! = 11
  393. @ = 21
  394. # = 31
  395. $ = 41
  396. % = 51
  397. ^ = 61
  398. & = 71
  399. * = 81
  400. ( = 91
  401. ) = 01
  402. _ = 02
  403. ? = 03
  404.  
  405. + = 99
  406. - = 89
  407. / = 79
  408. \ = 69
  409. = = 59
  410.  
  411. [ = 66
  412. ] = 63
  413. { = 56
  414. } = 53
  415. . = 33
  416. , = 34
  417. ; = 35
  418. : = 36
  419. < = 25
  420. > = 24
  421.  
  422. Per i numeri = 30 + il numero
  423. 0 = 300
  424. 1 = 301
  425. 2 = 302
  426. 3 = 303
  427. 4 = 304
  428. 5 = 305
  429. 6 = 306
  430. 7 = 307
  431. 8 = 308
  432. 9 = 309
  433.  
  434. */
  435. </script>
  436. </head>
  437.  
  438. <body>
  439. <form name="parola" id="parola">
  440. Parola: <input type="text" size="24" id="parola_input" />
  441. <br><br>
  442. <button onClick="javascript:return codifica(document.getElementById('parola_input').value)">Codifica!</button>
  443. <br>
  444. <div id="parola_da_codificare">
  445. </div>
  446. <div id="spacer">
  447. </div>
  448. <div id="errore">
  449. </div>
  450. </form>
  451. </body>
  452. </html>
Advertisement
Add Comment
Please, Sign In to add comment