Advertisement
MSzopa

C++ PWD 17.04

Apr 20th, 2020
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5. void szyfrowanie(char* tekst, int przesuniecie[])
  6. {
  7.     int skok = 0;
  8.     for (int i = 0; tekst[i] != '\0'; i++)
  9.     {
  10.         tekst[i] = (tekst[i] + przesuniecie[skok]);
  11.         skok++;
  12.         if (skok == (sizeof(przesuniecie) / 4) - 1) skok = 0;
  13.     }
  14. }
  15.  
  16. void odszyfrowanie(char* tekst, int przesuniecie[])
  17. {
  18.     int skok = 0;
  19.     for (int i = 0; tekst[i] != '\0'; i++)
  20.     {
  21.         tekst[i] = (tekst[i] - przesuniecie[skok]);
  22.         skok++;
  23.         if (skok == (sizeof(przesuniecie)/4)-1) skok = 0;
  24.     }
  25. }
  26. void Zad_2() {
  27.     int klucz[] = { 12,13,5,3,4,6,12,19,11,10,9,8,3,7,1,14,12,17,6,2 };
  28.     char tesktdoszyfrowania[100];
  29.     cin.get(tesktdoszyfrowania, 100);
  30.     cin.ignore();
  31.     cout << "Tekst do zaszyfrowania: " << tesktdoszyfrowania << endl;
  32.     szyfrowanie(tesktdoszyfrowania, klucz);
  33.     cout << "Zaszyfrowany: " << tesktdoszyfrowania << endl << "Zaszyfrowane w postaci kodów ASCII (spacja między znakami):\n";
  34.     for (int i = 0; tesktdoszyfrowania[i] != '\0'; i++) {
  35.         int c = tesktdoszyfrowania[i];
  36.         cout << c << " ";
  37.     }
  38.     odszyfrowanie(tesktdoszyfrowania, klucz);
  39.     cout << "\nOdszyfrowany: " << tesktdoszyfrowania;
  40. }
  41. void Zad_3() {
  42.     int klucz[] = { 12,13,5,3,4 };
  43.     char tesktdoszyfrowania[100];
  44.     cin.get(tesktdoszyfrowania, 100);
  45.     cout << "Tekst do zaszyfrowania: " << tesktdoszyfrowania <<endl;
  46.     szyfrowanie(tesktdoszyfrowania, klucz);
  47.     cout << "Zaszyfrowany: " << tesktdoszyfrowania << "\nZaszyfrowane w postaci kodów ASCII (spacja między znakami): ";
  48.     for (int i = 0; tesktdoszyfrowania[i] != '\0'; i++) {
  49.         int c = tesktdoszyfrowania[i];
  50.         cout << c << " ";
  51.     }
  52.     odszyfrowanie(tesktdoszyfrowania, klucz);
  53.     cout << "\nOdszyfrowany: " << tesktdoszyfrowania << endl;;
  54. }
  55. int main()
  56. {
  57.     setlocale(LC_ALL, "Polish");
  58.     cout << "Zadanie 2:" << endl;
  59.     Zad_2();
  60.     cout << "\nZadanie 3:" << endl;
  61.     Zad_3();
  62.     cout << "\nPorównując szyfrowanie z kluczem o mniejszej ilości cyfr wnioskuję, że im dłuższy klucz tym bezpieczniejsza wiadomość(trudniejsza do odszyfrowania).";
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement