Advertisement
Guest User

I.Csaba kodtoro

a guest
Apr 25th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. const int KEY_SIZE = 8;
  7. const double also = 3.0;
  8. const double felso = 10.0;
  9.  
  10. void tores(char* kulcs, char* titkos, int hossz, int kulcs_meret);
  11.  
  12. void kulcscopy(char* ujkulcs, char* kulcs, int count){
  13.   int i = 0;
  14.   while(ujkulcs[i++] = kulcs[count++]);
  15.   return;
  16. }
  17. void kulcs_vizsgal(char* kulcs, char* titkos, int be_hossz){
  18.   int count = 0;
  19.  
  20.   if(kulcs[0] == '0'){
  21.     count++;
  22.     if(kulcs[1] == '0'){
  23.       count++;
  24.       if(kulcs[2] == '0'){
  25.     count++;
  26.     if(kulcs[3] == '0'){
  27.       count++;
  28.       if(kulcs[4] == '0'){
  29.         count++;
  30.         if(kulcs[5] == '0'){
  31.           count++;
  32.         }
  33.       }
  34.     }
  35.       }
  36.     }
  37.   }
  38.  
  39.   char ujkulcs[KEY_SIZE-count];
  40.  
  41.   kulcscopy(ujkulcs,kulcs,count);
  42.   tores(ujkulcs,titkos,be_hossz,(KEY_SIZE-count));
  43. }
  44.  
  45. void tores(char* kulcs, char* titkos, int hossz, int kulcs_meret){
  46.   int h = 1;
  47.   double atl=0.0;
  48.   int kulcs_index = 0;
  49.   hossz = hossz - 1;
  50.   char *jo_lehet = new char[hossz];
  51.  
  52.   for(int i = 0; i<hossz;i++){
  53.     jo_lehet[i] = titkos[i] ^ kulcs[kulcs_index];
  54.     kulcs_index = (kulcs_index +1) % kulcs_meret;
  55.   }
  56.  
  57.   for(int i = 0; i<hossz; i++)
  58.     if(jo_lehet[i]==' ')
  59.       h++;
  60.    
  61.   atl = hossz/h;
  62.  
  63.   if(atl < felso && strcasestr(jo_lehet,"proba") && strcasestr(jo_lehet,"sokadik") && strcasestr(jo_lehet,"megy"))
  64.     cout<<kulcs<<endl<<"---------------"<<endl<<jo_lehet<<endl<<endl;
  65.  
  66.   delete[] jo_lehet;
  67. }
  68. int main(int argc, char** argv){
  69.   char kulcs[KEY_SIZE];
  70.   ifstream be_file;
  71.  
  72.   if(argc <= 1){
  73.     cerr << "./prog file"<<endl<<endl;
  74.     return 0;
  75.   }
  76.  
  77.   be_file.open(argv[1], ifstream::in);
  78.   be_file.seekg(0, be_file.end);
  79.   int be_hossz = be_file.tellg();
  80.   be_file.seekg(0, be_file.beg);
  81.  
  82.   char* titkos = new char[be_hossz];
  83.  
  84.   be_file.read(titkos,be_hossz);
  85.  
  86.   for(int i = '0'; i<='9'; i++)
  87.     for(int j = '0'; j<='9'; j++)
  88.       for(int k = '0'; k<='9'; k++)
  89.     for(int l = '0'; l<='9'; l++)
  90.       for(int m = '0'; m<='9'; m++)
  91.         for(int n = '0'; n<'9'; n++)
  92.           for(int o = '0'; o<='9'; o++)
  93.         for(int p = '0'; p<='9'; p++){
  94.           kulcs[0] = i;
  95.           kulcs[1] = j;
  96.           kulcs[2] = k;
  97.           kulcs[3] = l;
  98.           kulcs[4] = m;
  99.           kulcs[5] = n;
  100.           kulcs[6] = o;
  101.           kulcs[7] = p;
  102.          
  103.           kulcs_vizsgal(kulcs, titkos, be_hossz);
  104.           //tores(kulcs,titkos,be_hossz);
  105.             }
  106.  
  107.   delete[] titkos;
  108.  
  109.   be_file.close();
  110.  
  111.   return 0;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement