Pokaż wyniki 1 do 1 z 1

Temat: metoda Kasiskiego

  1. #1

    Domyślnie metoda Kasiskiego

    Witam. W poniższym kodzie deszyfrującym muszę dokładnie wskazać "kod opisujący metodę Kasiskiego"... czy ktoś byłby tak miły i wskazał ten kod? dla mnie to czarna magia z góry dzięki



    Kod:
    #include<stdio.h>
    #include<iostream.h>
    #include <math.h>
    
    void main()
    {
    FILE *we, *wy;
    int i, licznik;
    int tablica_ASCII[200];        
    char znak;                     
    char haslo[200];               
    char plik_jawny[20];          
    char plik_zaszyfrowany[20];  
    for (i=0; i<200; i++)         
        haslo[i]=42;
    
    cout<<"plik_odszyfrowany: " ;
    cin>>plik_zaszyfrowany;
    cout<<"plik_wynikowy: ";
    cin>>plik_jawny;
    cout<<"Podaj haslo: " ;
    cin>>haslo;
    
    int pozycja=0;
    for (i=0; i<200; i++)
       if (haslo[pozycja]!=42)
          {
          	tablica_ASCII[i]=haslo[pozycja];      
    	pozycja++;
          }
       else
           {
    	pozycja=0;                           
            i--;
          	tablica_ASCII[i]=haslo[pozycja];
    	pozycja++;
          }
    
    for (i=0; i<200; i++)                       
         tablica_ASCII[i]-=65;
    
    
    licznik=0;
    
    if((we=fopen(plik_zaszyfrowany,"rb"))!=NULL)    
    {
    if((wy=fopen(plik_jawny,"wb"))!=NULL)  
    {
       while((znak=getc(we))!=EOF)   
       
    	   {
    		if ((znak>=65)&&(znak<=90))
    		     {
    			znak-=65;
    			znak-=tablica_ASCII[licznik];   
    			if(licznik==200)                
    			   licznik=0;
                            else
    			   licznik++;
    			if (znak<0)                     
    			     znak=26-fabs(znak);
    			znak+=65;
    			putc(znak,wy);
    		     }
    		 else if ((znak>=97)&&(znak<=122))
    		     {
    			znak-=97;
    			znak-=tablica_ASCII[licznik];
    			if(licznik==200)
    			   licznik=0;
                            else
    			   licznik++;
    			if (znak<0)
    			     znak=26-fabs(znak);
    			znak+=97;
    			putc(znak,wy);
    		     }
    	}
          
    fclose(wy);
     }
    fclose(we);
     }
    cout<<"Deszyfrowanie zostalo zakonczone";
    return;
    }
    Ostatnio edytowane przez cortez : 01-17-2011 - 15:04

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj