Aplikasi Caesar dan Vingener Ciphertext (Encrypt & Decrypt)

Vingener Ciphertext to Plain text dan Plaintext to Vingener Ciphertext, itu materi yang akan Anak Bulan bagikan malam ini at 22:55 (25-09-2014). Oke langsung saja di pelajari sendiri script pemrogrmanannya. jika ingin bertanya langsung saja ke group yang di cantumkan di bawah.
#Script-1

#include <iostream> 
#include <cstring>
#include <algorithm>
using namespace std;

// Program ini bisa digunakan untuk Caesar Ciphertext dan Vingener Chipertext:
// Untuk Ceasar cukup memasukan satu key saja. 
// Catatan: S dan Key sebagai string dan memiliki kapasitas string 
//          untuk input S dan key hanya mendukung alphabet,


void encrypt(string& s, string key)
{
    transform(s.begin(), s.end(), s.begin(), ::toupper);
    transform(key.begin(), key.end(), key.begin(), ::toupper);
    int j = 0;
    for (int i = 0; i < s.length(); i++)
    {
        if (isalpha(s[i]))
    {
        s[i] += key[j] - 'A';
        if (s[i] > 'Z') s[i] += -'Z' + 'A' - 1;
    }
      j = j + 1 == key.length() ? 0 : j + 1;
   }
}


void decrypt(string& s, string key)
{
    transform(s.begin(), s.end(), s.begin(), ::toupper);
    transform(key.begin(), key.end(), key.begin(), ::toupper);
    int j = 0;
    for (int i = 0; i < s.length(); i++)
    {
        if (isalpha(s[i]))
    {
        s[i] = s[i] >= key[j] ?
        s[i] - key[j] + 'A' :
        'A' + ('Z' - key[j] + s[i] - 'A') + 1;
    }
      j = j + 1 == key.length() ? 0 : j + 1;
    }
}


int main(void)
{
 string s("anakbulan");
 string key("bulananak");
 encrypt(s, key);
 cout << "Vingener_Encrypted: " << s << endl;
 decrypt(s, key);
 cout << "Vingener_Decrypted: " << s << endl;
 return 0;
}
Program diatas tidak ada proses input dari user, dan untuk selanjutnya Anak Bulan akan membuat input prosesnya.
# Script-2

int main(void)
{
 int menu;
 string s;
 string key;
 cout<<"========================"<<endl;
 cout<<"=====Latip Mulyadin====="<<endl;
 cout<<"=Encryptor & Decrypteor="<<endl;
 cout<<"========================"<<endl;
 
 cout<<endl;
 cout<<"Masukan Text :";
 getline(cin, s);    
 cout<<"Masukan Key :";
 getline(cin, key);
 cout<<endl;
 
 awal:
 try {
  cout<<"Pilih Menu"<<std::endl;
  cout<<"1. Plaintext to Vingener Ciphertext"<<endl;
  cout<<"2. Vingener Ciphertext to Plaintext"<<endl;
  cout<<"3. Caesar Ciphertext to Plaintext"<<endl;
  cout<<"4. Plaintext to Caesar Ciphertext"<<endl;
  cout<<"Masukan Angka 1 atau 2 : ";
  cin>>menu;
  if (menu){
   throw menu;
  }
  else {
   cout<<"Input harus berupa Angka"<<endl;  // (jika input buka integer)  aplikasi akan terhenti
  }
 }
 catch (int z1){
  if (z1 == 1){
   cout<<"Plaintext : "<<s<<endl;
   vigenere_encrypt(s, key);
   cout << "Vingener Ciphertext : " << s << endl;
  }
  else if (z1 ==2){
   cout<<"Vingener Ciphertext : "<<s<<endl;
   vigenere_decrypt(s, key);
   cout << "Plaintext : " << s <<endl;
  }
  else if (z1 ==3){
   cout<<"Caesar Ciphertext : "<<s<<endl;
   vigenere_decrypt(s, key);
   cout << "Plaintext : " << s <<endl;
  }
  else if (z1 ==4){
   cout<<"Plaintext : "<<s<<endl;
   vigenere_encrypt(s, key);
   cout << "Caesar Ciphertext : " << s <<endl; 
  }
    else{
   
   cout<<"Input yang anda masukan salah ulangi"<<endl; //jka input bukan 1 dan 2 (dan masih angka) maka akan ulagni input
   goto awal;
  }
 }
 return 0;
}

Hapus script pada bagian int main (void) bagian #script-1 dan ganti dengan #script-2, dan silahkan kembangkan kreativitas sobat.
Ingat hanya di www.anakbulan.com sobat bisa mendapatkan source code seperti ini. Sekian

Semoga bermanfaat, salam Anak Bulan.

Download :
Jika ada masalah, hubungi saya di :
!!! Sebelum Download, BACA Cara Downloadnya Dulu Disini !!!
Download di Tusfiles
Tag : C++, Tutorial
1 Komentar untuk "Aplikasi Caesar dan Vingener Ciphertext (Encrypt & Decrypt)"

The Best Casino in Las Vegas, Nevada - Mapyro
Find your 문경 출장마사지 perfect spot on a 하남 출장샵 Las Vegas Strip vacation. Get the 서울특별 출장마사지 best 청주 출장마사지 deals on Travelocity & Save up to 60% when booking a last 영주 출장마사지 minute hotel room.

Berkomentarlah di blog ini dengan cerdas.
* Dilarang junk, spam, dan memasang link aktif demi kenyamanan bersama.

:) :D :( :-o @@, :s :wow: 8) :x :P :| ;) :lol: :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen: :-d

Back To Top