Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Crytti 2.0 - Crytti Relase 2.0.java

Crytti Relase 2.0.java

Caricato da: Mutelg
Scarica il programma completo

  1. /**
  2.  * Autore :Alenadri Enrico
  3.  * Classe : III G
  4.  * Data :  29/01/2009 ore 0:03
  5.  * Nome File:Crytti.java
  6.  */
  7.  
  8.  import javax.swing.JOptionPane;
  9.  
  10. public class Crytti {
  11.  
  12.     /**
  13.      * @param args the command line arguments
  14.      */
  15.     public static void main(String[] args)
  16.        {
  17.                 boolean ripLet=true,
  18.                         ripDom = true,
  19.                         carattere = true;
  20.         char letteraM,
  21.              letteraK;
  22.         int lunFrase=0,
  23.             numeroM=0,
  24.             numeroK=0,
  25.             fine,
  26.             domanda,
  27.             somma,
  28.             sottrazione,
  29.             i,
  30.             k,
  31.             lunChiave=0,
  32.             conKey=1;
  33.         String frase="",
  34.                mex="",
  35.                key="";
  36.        do{
  37.  
  38.                 frase="";
  39.                 mex="";
  40.         key="";
  41.         somma=0;
  42.         sottrazione=0;
  43.         conKey=1;
  44.  
  45.  
  46.                 Object[] opt = {"Crittare", "Decrittare"};
  47.                 domanda = JOptionPane.showOptionDialog(null, "Cosa Vuoi fare?", "Crytti 1.0",
  48.                           JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
  49.                           null, opt, opt[1]);
  50.             if(domanda==-1) System.exit(0);
  51.             //****Crittare == 0
  52.             //****Decrittare == 1
  53.             //****"X" == -1
  54.  
  55.  
  56.                    if(domanda == 0 )
  57.                      {
  58.  
  59.                       do{
  60.                              ripLet=false;
  61.                  try{
  62.                              frase = JOptionPane.showInputDialog("Iinserisci la frase da Crittare: ");
  63.                              frase = frase.toLowerCase();
  64.                              lunFrase = frase.length();
  65.                          }catch(NullPointerException ex)
  66.                              {
  67.                                    ripLet=true;
  68.                          }
  69.  
  70.                      }while(ripLet==true);
  71.  
  72.                      do{
  73.                             ripDom=false;
  74.                         try{
  75.                         key = JOptionPane.showInputDialog("Inserisci la chiave di Crittaggio: ");
  76.                             key = key.toLowerCase();
  77.                             lunChiave = key.length();
  78.                             if(key.equals(""))ripDom=true;
  79.                            }catch(NullPointerException ex)
  80.                            {
  81.                              ripDom=true;
  82.                         }
  83.  
  84.                    }while(ripDom==true);
  85.                    for(i=1;i<=lunFrase;i++)
  86.                       {
  87.                                  carattere = false;
  88.                              letteraM = frase.charAt(i-1);
  89.                              if(letteraM == ' ')
  90.                                 mex += ' ';
  91.                              else
  92.                                {
  93.                                     for(int y=0;y<26;y++)
  94.                           if(letteraM== (char) y+97)
  95.                                      carattere=true;
  96.                             if(carattere)
  97.                               {
  98.                                    letteraK = key.charAt(conKey-1);
  99.                                    numeroM = letteraM-97;
  100.                                    numeroK = letteraK-97;
  101.                                    somma=numeroM+numeroK;
  102.                                    if(somma>=26) somma-=26;
  103.                                    mex += (char) (somma+97);
  104.                                    if(conKey==lunChiave)conKey=0;
  105.                                    conKey++;
  106.                               }else
  107.                                 mex += letteraM;
  108.                                 }
  109.                        }
  110.  
  111.  
  112.            System.out.println("Messaggio Crittato:\n"+mex+"\n\n");
  113.                    JOptionPane.showMessageDialog(null,"Testo crittato : \n"+mex+ "\n\nChiave di Decrittaggio :\n"+key);
  114.  
  115.                    }
  116.                    else
  117.                    {
  118.                       do{
  119.                              ripLet=false;
  120.                  try{
  121.                              mex = JOptionPane.showInputDialog("Inserisci la stringa da decrittare:");
  122.                              mex = mex.toLowerCase();
  123.                              lunFrase = mex.length();
  124.                          }catch(NullPointerException ex)
  125.                              {
  126.                                    ripLet=true;
  127.                          }
  128.  
  129.                      }while(ripLet==true);
  130.  
  131.  
  132.                      do{
  133.                             ripDom=false;
  134.                        try{
  135.                        key = JOptionPane.showInputDialog("Inserisci la chiave di Crittaggio: ");
  136.                            key = key.toLowerCase();
  137.                            lunChiave = key.length();
  138.                            if(key.equals(""))ripDom=true;
  139.                            }catch(NullPointerException ex)
  140.                            {
  141.                              ripDom=true;
  142.                         }
  143.  
  144.                    }while(ripDom==true);
  145.  
  146.                    for(k=1;k<=lunFrase;k++)
  147.                       {
  148.                            carattere = false;
  149.                            letteraM = mex.charAt(k-1);
  150.                            if(letteraM == ' ')
  151.                                  frase += ' ';
  152.                            else
  153.                              {
  154.                                   for(int y=0;y<26;y++)
  155.                         if(letteraM== (char) y+97)
  156.                                    carattere=true;
  157.                           if(carattere)
  158.                             {
  159.                                  letteraK = key.charAt(conKey-1);
  160.                                  numeroK = letteraK-97;
  161.                                  numeroM = letteraM-96;
  162.                                  sottrazione=numeroM-numeroK;
  163.                                      if(sottrazione<=0) sottrazione+=26;
  164.                                  frase += (char) (sottrazione+96);
  165.                                  if(conKey==lunChiave )conKey=0;
  166.                                    conKey++;
  167.                              }else
  168.                                 frase += letteraM;
  169.                              }
  170.  
  171.                       }
  172.  
  173.                      JOptionPane.showMessageDialog(null,"Ecco il testo in chiaro : \n"+frase);
  174.                    }
  175.  
  176.  
  177.            fine = JOptionPane.showConfirmDialog(null,"Vuoi continuare a usare il programma?", "Continuo programma", JOptionPane.YES_NO_OPTION);
  178.          if(fine == -1) System.exit(0);
  179.      }while(fine==0);
  180.     }
  181. }