Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstring>
- using namespace std;
- const int KEY_SIZE = 8;
- const double also = 3.0;
- const double felso = 10.0;
- void tores(char* kulcs, char* titkos, int hossz, int kulcs_meret);
- void kulcscopy(char* ujkulcs, char* kulcs, int count){
- int i = 0;
- while(ujkulcs[i++] = kulcs[count++]);
- return;
- }
- void kulcs_vizsgal(char* kulcs, char* titkos, int be_hossz){
- int count = 0;
- if(kulcs[0] == '0'){
- count++;
- if(kulcs[1] == '0'){
- count++;
- if(kulcs[2] == '0'){
- count++;
- if(kulcs[3] == '0'){
- count++;
- if(kulcs[4] == '0'){
- count++;
- if(kulcs[5] == '0'){
- count++;
- }
- }
- }
- }
- }
- }
- char ujkulcs[KEY_SIZE-count];
- kulcscopy(ujkulcs,kulcs,count);
- tores(ujkulcs,titkos,be_hossz,(KEY_SIZE-count));
- }
- void tores(char* kulcs, char* titkos, int hossz, int kulcs_meret){
- int h = 1;
- double atl=0.0;
- int kulcs_index = 0;
- hossz = hossz - 1;
- char *jo_lehet = new char[hossz];
- for(int i = 0; i<hossz;i++){
- jo_lehet[i] = titkos[i] ^ kulcs[kulcs_index];
- kulcs_index = (kulcs_index +1) % kulcs_meret;
- }
- for(int i = 0; i<hossz; i++)
- if(jo_lehet[i]==' ')
- h++;
- atl = hossz/h;
- if(atl < felso && strcasestr(jo_lehet,"proba") && strcasestr(jo_lehet,"sokadik") && strcasestr(jo_lehet,"megy"))
- cout<<kulcs<<endl<<"---------------"<<endl<<jo_lehet<<endl<<endl;
- delete[] jo_lehet;
- }
- int main(int argc, char** argv){
- char kulcs[KEY_SIZE];
- ifstream be_file;
- if(argc <= 1){
- cerr << "./prog file"<<endl<<endl;
- return 0;
- }
- be_file.open(argv[1], ifstream::in);
- be_file.seekg(0, be_file.end);
- int be_hossz = be_file.tellg();
- be_file.seekg(0, be_file.beg);
- char* titkos = new char[be_hossz];
- be_file.read(titkos,be_hossz);
- for(int i = '0'; i<='9'; i++)
- for(int j = '0'; j<='9'; j++)
- for(int k = '0'; k<='9'; k++)
- for(int l = '0'; l<='9'; l++)
- for(int m = '0'; m<='9'; m++)
- for(int n = '0'; n<'9'; n++)
- for(int o = '0'; o<='9'; o++)
- for(int p = '0'; p<='9'; p++){
- kulcs[0] = i;
- kulcs[1] = j;
- kulcs[2] = k;
- kulcs[3] = l;
- kulcs[4] = m;
- kulcs[5] = n;
- kulcs[6] = o;
- kulcs[7] = p;
- kulcs_vizsgal(kulcs, titkos, be_hossz);
- //tores(kulcs,titkos,be_hossz);
- }
- delete[] titkos;
- be_file.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement