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

1code-line:1-12code-line:1-23code-line:1-34code-line:1-45code-line:1-56code-line:1-67code-line:1-78code-line:1-89code-line:1-910code-line:1-1011code-line:1-1112code-line:1-1213code-line:1-1314code-line:1-1415code-line:1-1516code-line:1-1617code-line:1-1718code-line:1-1819code-line:1-1920code-line:1-2021code-line:1-2122code-line:1-2223code-line:1-2324code-line:1-2425code-line:1-2526code-line:1-2627code-line:1-2728code-line:1-2829code-line:1-2930code-line:1-3031code-line:1-3132code-line:1-3233code-line:1-3334code-line:1-3435code-line:1-3536code-line:1-3637code-line:1-3738code-line:1-3839code-line:1-3940code-line:1-4041code-line:1-4142code-line:1-4243code-line:1-4344code-line:1-4445code-line:1-4546code-line:1-4647code-line:1-4748code-line:1-4849code-line:1-4950code-line:1-5051code-line:1-5152code-line:1-5253code-line:1-5354code-line:1-5455code-line:1-5556code-line:1-56#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

1code-line:2-12code-line:2-23code-line:2-34code-line:2-45code-line:2-56code-line:2-67code-line:2-78code-line:2-89code-line:2-910code-line:2-1011code-line:2-1112code-line:2-1213code-line:2-1314code-line:2-1415code-line:2-1516code-line:2-1617code-line:2-1718code-line:2-1819code-line:2-1920code-line:2-2021code-line:2-2122code-line:2-2223code-line:2-2324code-line:2-2425code-line:2-2526code-line:2-2627code-line:2-2728code-line:2-2829code-line:2-2930code-line:2-3031code-line:2-3132code-line:2-3233code-line:2-3334code-line:2-3435code-line:2-3536code-line:2-3637code-line:2-3738code-line:2-3839code-line:2-3940code-line:2-4041code-line:2-4142code-line:2-4243code-line:2-4344code-line:2-4445code-line:2-4546code-line:2-4647code-line:2-4748code-line:2-4849code-line:2-4950code-line:2-5051code-line:2-5152code-line:2-5253code-line:2-5354code-line:2-5455code-line:2-5556code-line:2-5657code-line:2-5758code-line:2-5859code-line:2-5960code-line:2-6061code-line:2-6162code-line:2-62int 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)"

Mohon maaf komentar anda kami hapus, karena dianggap sebagai tindakan SPAM

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