Witam. Mógłby ktoś pomóc z tym szyfrem? Głównie chodzi mi o to czy da radę jakoś to prościej napisać czy zostawić tak jak jest? Może ktoś ma to lepiej zrobione i dobrze wytłumaczone. Byłbym wdzięczny za pomoc.
#include<iostream>
#include<string.h>
using namespace std;
int main(){
//Wiadomosc do zaszyfrowania
char wiadomosc[] = "WIADOMOSC";
//Klucz do szyfrownia
char klucz[] = "KLUCZ";
int wiadomoscLen = strlen(wiadomosc), kluczLen = strlen(klucz), i, j;
char nowyKlucz[wiadomoscLen], szyfrWiadomosc[wiadomoscLen];
//klucz
for(i = 0, j = 0; i < wiadomoscLen; ++i, ++j){
if(j == kluczLen)
j = 0;
nowyKlucz[i] = klucz[j];
}
nowyKlucz[i] = '\0';
//szyfrowanie
for(i = 0; i < wiadomoscLen; ++i)
szyfrWiadomosc[i] = ((wiadomosc[i] + nowyKlucz[i]) % 26) + 'A';
szyfrWiadomosc[i] = '\0';
cout<<"Oryginalna wiadomosc: "<<wiadomosc<<endl;
cout<<"Klucz: "<<klucz<<endl;
cout<<"Wygenerowany klucz: "<<nowyKlucz<<endl;
cout<<"Zaszyfrowana wiadomosc: "<<szyfrWiadomosc<<endl;
return 0;
}