Advertisement
Guest User

for suhov

a guest
Oct 31st, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.24 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <iostream>
  3. #include "windows.h"
  4. #include <stdlib.h>
  5. #include <map>
  6. #include <time.h>
  7. #include <string>
  8. #include <stdio.h>
  9. #include <ctime>
  10.  
  11. using namespace std;
  12.  
  13. const int PASSWORD_LENGTH = 6;
  14. const int CHISLO_SIMVOLOV = 77;
  15. int main()
  16. {   //создаем рандомный пароль!!!!!!!
  17.     setlocale(LC_ALL, "Russian");
  18.     int k, z;
  19.     //char sym[] = "qwertyuiopasdfghjklzxcvbnm0123456789QWERTYUIOPASDFGHJKLZXCVBNM";
  20.     char sym[] = "йцукенгшщзхъфывапролджэячсмитьбюё0123456789ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ";
  21.     char PASSWORD[PASSWORD_LENGTH] = { "" };
  22.     int currentpass = 0;
  23.     srand(time(NULL));
  24.     for (int i = 0; i < PASSWORD_LENGTH; i++)
  25.     {
  26.         k = (rand() % CHISLO_SIMVOLOV);
  27.         PASSWORD[currentpass] = sym[k];
  28.         currentpass++;
  29.     }
  30.     cout << "Random password:  ";
  31.     for (int i = 0; i < PASSWORD_LENGTH; i++)
  32.     {
  33.         cout << PASSWORD[i] << " ";
  34.     }
  35.     string passwordString("");
  36.  
  37.     for (int i = 0; i < PASSWORD_LENGTH; i++)
  38.     {
  39.         passwordString = passwordString + PASSWORD[i];
  40.     }
  41.  
  42.     // ПОДБИРАЕМ ПАРОЛЬ И ЗАСЕКАЕМ ВРЕМЯ
  43.     cout << endl << "Затрачено времени на подбор пароля:  ";
  44.     unsigned int start_time1 = clock();
  45.     bool fl = true;
  46.     unsigned int counter = 0;
  47.     unsigned int counter1 = 0;
  48.     while (fl)
  49.     {
  50.         unsigned int start_time = clock();
  51.         for (int i = 0; i <= CHISLO_SIMVOLOV; i++)
  52.         {
  53.             for (int j = 0; j <= CHISLO_SIMVOLOV; j++)
  54.             {
  55.                 for (int k = 0; k <= CHISLO_SIMVOLOV; k++)
  56.                 {
  57.                     for (int l = 0; l <= CHISLO_SIMVOLOV; l++)
  58.                     {
  59.                         for (int m = 0; m <= CHISLO_SIMVOLOV; m++)
  60.                         {
  61.                             for (int n = 0; n <= CHISLO_SIMVOLOV; n++)
  62.                             {
  63.                                 counter++;
  64.                                 char pass_serch[7];
  65.                                 pass_serch[0] = sym[i];
  66.                                 pass_serch[1] = sym[j];
  67.                                 pass_serch[2] = sym[k];
  68.                                 pass_serch[3] = sym[l];
  69.                                 pass_serch[4] = sym[m];
  70.                                 pass_serch[5] = sym[n];
  71.                                 pass_serch[6] = '\0';
  72.  
  73.  
  74.                                 //cout << pass_serch << endl;
  75.                                 if (pass_serch == passwordString)
  76.  
  77.                                 {
  78.                                     unsigned int end_time = clock();
  79.                                     unsigned int search_time = end_time - start_time;
  80.                                     cout << search_time / 1000 << " секунд(ы) ";
  81.                                     cout << "№элемента " << counter << " из ";
  82.                                     counter1 = counter;
  83.                                     fl = false;
  84.                                     break;
  85.  
  86.                                 }
  87.                             }
  88.                         }
  89.                     }
  90.                 }
  91.             }
  92.         }
  93.     }
  94.     cout << counter;
  95.     int result = 100 * (counter - counter1) / counter;
  96.     //cout << "parol6 ne naiden" << endl;
  97.     unsigned int end_time1 = clock();
  98.     unsigned int search_time1 = end_time1 - start_time1;
  99.     cout << endl << "Время на проверку всех подстановок: " << search_time1 / 1000 << " секунд(ы)" << endl;
  100.     cout << "Процентное соотношение перебранных паролей по отношению к общему числу вариантовдля успешного взлома:  " << result << "%  => ";
  101.     if (result > 30)
  102.     {
  103.         cout << "Данный пароль крайне не надежен" << endl;
  104.     }
  105.     else
  106.     {
  107.         cout << "Данный пароль надежен" << endl;
  108.     }
  109.     system("pause");
  110.     //exit(0);
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement