Selamın Aleyküm..
Bu konuda C++ dilini kullanarak girdiğimiz metni şifreleyen bir programı adım adım kodlayalım.
------------------------------------------------------------------------------------
Bu program için Caesar şifreleme algoritmasını kullanacağız.
Bu Algoritma ;
Metni belirli bir kaydırma miktarıyla (şifreleme anahtarı) ileri doğru kaydırarak şifreleme işlemi gerçekleştirir.
İlk olarak kullanacağımız kütüphaneleri projemize ekleyelim.
Ardından Caesar şifreleme için gerekli fonksiyon kısmını kodlayalım.
Caesar şifre çözme fonksiyonunu kodlayalım.
Kullanıcıdan şifrelenecek metni ve kaydırma oranını alalım.
Metni şifreleyerek ve çıktıyı gösterelim.
Şifreli metnin çözülmüş halini gösterelim. Bunun sebebi şifrelenmiş metnin çözülmüş versiyonu ile orijinal metnimizin aynı olup olmadığını doğrulamak.
Bütün kodlar ;
Saygılarımla... ByFelez
Bu konuda C++ dilini kullanarak girdiğimiz metni şifreleyen bir programı adım adım kodlayalım.
------------------------------------------------------------------------------------
Bu program için Caesar şifreleme algoritmasını kullanacağız.
Bu Algoritma ;
Metni belirli bir kaydırma miktarıyla (şifreleme anahtarı) ileri doğru kaydırarak şifreleme işlemi gerçekleştirir.
İlk olarak kullanacağımız kütüphaneleri projemize ekleyelim.
C++:
#include <iostream>
#include <cstring>
Ardından Caesar şifreleme için gerekli fonksiyon kısmını kodlayalım.
C++:
std::string encrypt(const std::string& text, int shift) {
std::string result = "";
for (char ch : text) {
if (isalpha(ch)) {
char base = isupper(ch) ? 'A' : 'a';
result += static_cast<char>((ch - base + shift) % 26 + base);
} else {
result += ch;
}
}
return result;
}
Caesar şifre çözme fonksiyonunu kodlayalım.
C++:
std::string decrypt(const std::string& text, int shift) {
return encrypt(text, 26 - shift);
}
int main() {
std::string originalText;
int shift;
Kullanıcıdan şifrelenecek metni ve kaydırma oranını alalım.
C++:
std::cout << "Şifrelenecek metni girin: ";
std::getline(std::cin, originalText);
std::cout << "Kaydırma miktarını girin: ";
std::cin >> shift;
Metni şifreleyerek ve çıktıyı gösterelim.
C++:
std::string encryptedText = encrypt(originalText, shift);
std::cout << "Şifrelenmiş metin: " << encryptedText << std::endl;
Şifreli metnin çözülmüş halini gösterelim. Bunun sebebi şifrelenmiş metnin çözülmüş versiyonu ile orijinal metnimizin aynı olup olmadığını doğrulamak.
C++:
std::string decryptedText = decrypt(encryptedText, shift);
std::cout << "Çözülmüş metin: " << decryptedText << std::endl;
return 0;
}
Bütün kodlar ;
C++:
#include <iostream>
#include <cstring>
std::string encrypt(const std::string& text, int shift) {
std::string result = "";
for (char ch : text) {
if (isalpha(ch)) {
char base = isupper(ch) ? 'A' : 'a';
result += static_cast<char>((ch - base + shift) % 26 + base);
} else {
result += ch;
}
}
return result;
}
std::string decrypt(const std::string& text, int shift) {
return encrypt(text, 26 - shift);
}
int main() {
std::string originalText;
int shift;
std::cout << "Şifrelenecek metni girin: ";
std::getline(std::cin, originalText);
std::cout << "Kaydırma miktarını girin: ";
std::cin >> shift;
std::string encryptedText = encrypt(originalText, shift);
std::cout << "Şifrelenmiş metin: " << encryptedText << std::endl;
std::string decryptedText = decrypt(encryptedText, shift);
std::cout << "Çözülmüş metin: " << decryptedText << std::endl;
return 0;
}
Saygılarımla... ByFelez
Son düzenleme: