std::string shifrlashSezari(std::string soz, int key) {
std::string shifrlanganSoz = "";
int uzunlik = soz.length();
for (int i = 0; i < uzunlik; i++) {
if (isalpha(soz[i])) {
if (isupper(soz[i])) {
shifrlanganSoz += char(int(soz[i] + key - 65) % 26 + 65);
}
else {
shifrlanganSoz += char(int(soz[i] + key - 97) % 26 + 97);
}
}
else {
shifrlanganSoz += soz[i];
}
}
return shifrlanganSoz;
}
std::string deshifrlashSezari(std::string shifrlanganSoz, int key) {
std::string deshifrlanganSoz = "";
int uzunlik = shifrlanganSoz.length();
for (int i = 0; i < uzunlik; i++) {
if (isalpha(shifrlanganSoz[i])) {
if (isupper(shifrlanganSoz[i])) {
deshifrlanganSoz += char(int(shifrlanganSoz[i] - key - 65) % 26 + 65);
}
else {
deshifrlanganSoz += char(int(shifrlanganSoz[i] - key - 97) % 26 + 97);
}
}
else {
deshifrlanganSoz += shifrlanganSoz[i];
}
}
return deshifrlanganSoz;
}
int main() {
std::string soz;
int key;
std::cout << "Shifrlash uchun so'zni kiriting: ";
std::getline(std::cin, soz);
std::cout << "Shifrlash uchun kalitni kiriting: ";
std::cin >> key;
std::string shifrlanganSoz = shifrlashSezari(soz, key);
std::cout << "Shifrlangan natija: " << shifrlanganSoz << std::endl;
std::string deshifrlanganSoz = deshifrlashSezari(shifrlanganSoz, key);
std::cout << "Deshifrlangan natija: " << deshifrlanganSoz << std::endl;
return 0;
}
Dastur Natijasi:
Vernam shifri:
Dastur kodi:
#include
using namespace std;
int main(){
int t,n,i,j,k,sum=0;
string m;
cout<<"Matnni kiriting:"<<'\n';
cin>>m;
string key;
cout<<"Kalitni kirititng:"<<'\n';
cin>>key;
int mod = key.size();
j=0;
for(i=key.size();ikey+=key[j%mod];
j++;
}
string ans="";
for(i=0;ians += (key[i]-'A'+m[i]-'A')%26+'A';
}
cout<<"Shifrlangan matn: "<return 0;
}
Dastur natijasi:
Vijiner shifri:
#include
#include
std::string vigenereShifrlash(const std::string& matn, const std::string& kalit) {
std::string shifrlanganMatn = matn;
int matnUzunligi = matn.length();
int kalitUzunligi = kalit.length();
for (int i = 0; i < matnUzunligi; i++) {
shifrlanganMatn[i] = (matn[i] + kalit[i % kalitUzunligi]) % 26 + 'A';
}
return shifrlanganMatn;
}
int main() {
std::string matn = "Assalomu alaykum";
std::string kalit = "uzbekiston";
std::string shifrlanganMatn = vigenereShifrlash(matn, kalit);
std::cout << "Shifrlangan matn: " << shifrlanganMatn << std::endl;
return 0;
}