Advertisement
daniil_mironoff

lab5

Mar 7th, 2020
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <cstdlib> // Для rand() и srand()
  5. #include <ctime>   // Для time()
  6.  
  7. using namespace std;
  8.  
  9. // mode = 3 - Используются буквы нижнего регистра
  10. static const string symbols_mode3("qwertyuiopasdfghjklzxcvbnm");
  11.  
  12. // mode = 2 - Используются буквы разных регистов
  13. static const string symbols_mode2(symbols_mode3 + "QWERTYUIOPASDFGHJKLZXCVBNM");
  14.  
  15. // mode = 1 - Используются буквы разных регистов и цифры
  16. static const string symbols_mode1(symbols_mode2 + "0987654321");
  17.  
  18. // mode = 0 - Используются буквы разных регистов, цифры и спец-символы
  19. static const string symbols_mode0(symbols_mode1 + "!\"#$%&\'()*+,-./;<=>?@[\\]^_`{|}~");
  20.  
  21.  
  22. ///////////////////////////////////////////////////////////
  23.  
  24. class key {
  25.     private:
  26.         string log;
  27.         string pas;
  28.  
  29.     public:
  30.         key(string login, unsigned int size = 16, uint8_t mode = 0) : log(login) , pas() {
  31.             string symbols;
  32.  
  33.             if (mode == 3) { symbols = symbols_mode3; } else
  34.             if (mode == 2) { symbols = symbols_mode2; } else
  35.             if (mode == 1) { symbols = symbols_mode1; }
  36.             else           { symbols = symbols_mode0; }
  37.            
  38.             while (pas.size() != size) {
  39.                 pas.push_back(symbols[rand() % symbols.size()]);
  40.             }
  41.            
  42.         }
  43.  
  44.         void writeFile(string name_file) {
  45.             ofstream file(name_file);
  46.             file << log << ':' << pas << endl;
  47.         }
  48.  
  49.        
  50. };
  51.  
  52. ///////////////////////////////////////////////////////////
  53.  
  54. int main() {
  55.     srand(time(NULL));
  56.  
  57.     key testKey0("aliya2001");
  58.     testKey0.writeFile("instagram.txt");
  59.  
  60.     key testKey1("stankin-1909", 10, 3);
  61.     testKey1.writeFile("eos.txt");
  62.    
  63.     key testKey2("+79222550206", 12, 1);
  64.     testKey2.writeFile("vk.txt");
  65.  
  66.  
  67.     return 0;
  68. }
  69.  
  70. ///////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement