![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 5.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam do napisania program, ktory szyfruje/deszyfruje tekst za pomoca klucza. Zarowno tekst jak i klucz podaje uzytkownik. Szyfrowanie/deszyfrowanie realizujemy za pomoca tablicy 26x26 znakow:
A B C D E F G H I J K L M N O P R S T U W X Y Z B C D E F G H I J K L M N O P R S T U W X Y Z A C D E F G H I J K L M N O P R S T U W X Y Z A B . . . Y Z A B C D E F G H I J K L M N O P R S T U W X Z A B C D E F G H I J K L M N O P R S T U W X Y Przykładowe szyfrowanie tekstu LOREM IPSUM DOLOR SIT AMET kluczem PASSWORD: 1. W przypadku gdy klucz jest krotszy od szyfrowanego tekstu, nalezy go powielic: LOREM IPSUM DOLOR SIT AMET PASSW ORDPA SSWOR DPA SSWO 2. Szyfrowanie polega na podstawieniu liter tekstu jawnego przez litery z tablicy wg zasady: a ) litera tekstu jawnego wyznacza kolumnie tablicy b ) litera klucza wyznacza wiersz Litera szyfrogramu lezy na przecieciu, przyklad: LOREM IPSUM DOLOR SIT AMET PASSW ORDPA SSWOR DPA SSWO AOJWI WGVJM VGHCI VXT SEAH 3. Deszyfracja polega na wybraniu kolumny tablicy okreslonej poprzez odpowiednia litere klucza, a nastepnie odszukanie w niej litery szyfrogramu. W ten sposob okreslona litera wiersza jest litera tekstu jawnego: PASSW ORDPA SSWOR DPA SSWO AOJWI WGVJM VGHCI VXT SEAH (np.dla pierwszego znaku : w kolumnie P szukamy A, lezy ona w wierszu L-L jest wiec poszukiwana litera) dodaje ze jestem poczatkujaca i prosze o wyrozumialosc, a to ile udalo mi sie poskladac: #include <iostream> #include <cstdlib> using namespace std; void szyfruj(char *tekst,int *klucz) { int iPrzes; for (int i=0; tekst[i] != '\0'; i++) { tekst[i] = ( tekst[i] + klucz[iPrzes] ); iPrzes ++; cout << "wpisz tekst:"; cin>>iPrzes; if(iPrzes == sizeof(klucz)) iPrzes; break; } } void deszyfruj(char *tekst,int *klucz) { int iPrzes; for (int i=0; tekst[i] != '0'; i++) { tekst[i] = ( tekst[i] - klucz[iPrzes] ); iPrzes ++; cout << "zaszyfrowany tekst:"; cin>>iPrzes; if(iPrzes == sizeof(klucz)) iPrzes; break; } } int main(){ char test[30]; int iKlucz[3] ; szyfruj(test, iKlucz); cout << test << "\n" ; deszyfruj(test, iKlucz); cout << test << "\n" ; return 0; system("pause"); } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 16:22 |