hill_cipher_behzad.cpp

来自「hill cipher c++ program」· C++ 代码 · 共 101 行

CPP
101
字号
#include <iostream>
#include <stdio.h>

            //prepared by Behzad Khiavchi ,std#:085050


int mod(int x)  
{
  while (x > 25)
    x = x-26;
  return (x);
}


void convert(char a, char b)
{
  int aa, bb;

  aa = a - 'a';
  bb = b - 'a';

  cout << endl;
  cout << char(mod((aa*2 + bb*3))+ int('a'));
  cout << char(mod((aa*4 + bb*5))+ int('a')) << endl;
  cout << endl;
}
void decrypt(char a, char b)
{
  int aa, bb;

  aa = a - 'a';
  bb = b - 'a';

  cout << endl;
  cout << char(mod((aa*(-5/2) + bb*(3/2)))+ int('a'));
  cout << char(mod((aa*2 +      bb*(-1)))+ int('a')) << endl;
  cout << endl;
}




main()
{
   int counter = 0;
   int choice,skip;
   char a, b, d;  

    cout<<endl;
 cout<<"** HILL CIPHER **"<<endl;
 cout<<"By Behzad Khiavchi   std#:085050"<<endl;
  cout<<endl;
   cout<<endl;
    cout<<endl;
 cout<<"To encrypt Enter(1):"<<endl;
 cout<<"To decrypt Enter(2):"<<endl;
  cin>>choice;
  if(choice==1)
  {

  while(1){
    if(skip==0)
    break;
    if(skip==1)
    counter++;
    cout << "Enter two letter group  in lower case for encryption: [" << counter << "] > ";
    cout << endl;
    a = getchar();
    b = getchar();
    d = getchar();
    convert(a, b);
  cout<<"To proceed Enter(1):"<<endl;
  cout<<"To   exit  Enter(0):"<<endl;
     cin>>skip;
  }
  }
  if(choice==2)
  {

  while(1){
    if(skip==0)
    break;
    if(skip==1)
    counter++;
    cout << "Enter two letter group  in lower case for decryption:[" << counter << "] > ";
    cout << endl;
    a = getchar();
       b = getchar();
       d = getchar();
       decrypt(a, b);
  cout<<"To proceed Enter(1):"<<endl;
  cout<<"To   exit  Enter(0):"<<endl;
     cin>>skip;
  }

 }


  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?