Advertisement
mhdew

cryp

Dec 31st, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.73 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define     password1 "11011011100001111001111010001100001"
  6. #define     password2 "11100001100001110111011001001100001"
  7. #define     title     "1010010110010111011011100101110110111000101100101111001001000010100001010000010110011101111111010101000001101101110000111110010100000110110011010011110110110010101000001110100111011111010011100011110010101011000100000110001011101011110100010000010010010100000110111111011101101100111100101000001101100110100111101101100101010000011011111101110110001111001010100001"
  8. #define     question  "0101101010000010101111101000110100111000111101000010000011011111101110110010101000001101001111001101000001111001110111111101011110010010000011011011101111111001111101000100000110011011000011110110110111111101011110010110100111101001100101010000011011101100001110110111001010100000110011111010011110110110010111011100100000110001011110010100000110110111001010111111"
  9. #define     message1  "10100001101100110010111000011110011110010101000001100011110100011001011100011110101101000001111001110111111101011110010010000010010001100001110111011001111101111111010111101001110011010000001110100101001"
  10. #define     message2  "10100111101111111001011100101111001010000011101001101111010000011100111100001111100101011000100000111100111011111110101010000011001001101001110010011011100100111111010001000001100111110010111101000100000110100111101000100001010000001110100101000"
  11.  
  12. string encoder(string s);
  13. string decoder(string s);
  14.  
  15. string encoder(string s)
  16. {
  17.     vector<int>ev;
  18.     string esb;
  19.     ev.clear();
  20.     for(int i=0;i<s.size();i++){ ev.push_back(s[i]); }
  21.     esb.clear();
  22.     for(int i=0;i<ev.size();i++){
  23.         string temp; int ct=7;
  24.         while(ev[i]>0){ ct--; temp+=ev[i]%2+'0'; ev[i]/=2; }
  25.         while(ct!=0){ temp+='0'; ct--; }
  26.         reverse(temp.begin(),temp.end());
  27.         esb+=temp;
  28.     }
  29.     return esb;
  30. }
  31.  
  32. string decoder(string s)
  33. {
  34.     string temp; string ds; int x;
  35.     for(int i=0;i<s.size();i++){
  36.         if(i%7==0 && i>0){
  37.             x=0; reverse(temp.begin(),temp.end());
  38.             for(int i=0;i<temp.size();i++){ x+=((temp[i]-'0')*pow(2,i)); }
  39.             ds+=((char)x); temp.clear();
  40.         }
  41.         temp+=s[i];
  42.         if(i==s.size()-1){
  43.             x=0; reverse(temp.begin(),temp.end());
  44.             for(int i=0;i<temp.size();i++){ x+=((temp[i]-'0')*pow(2,i)); }
  45.             ds+=((char)x);
  46.         }
  47.     }
  48.  
  49.     return ds;
  50. }
  51.  
  52.  
  53.  
  54. int main()
  55. {
  56.     freopen("in.txt", "r", stdin);
  57.     freopen("out.txt", "w", stdout);
  58.  
  59.     // string s;
  60.     // getline(cin,s);
  61.     // cout<<encoder(s)<<endl;
  62.  
  63.     cout<<decoder(title)<<endl<<endl;
  64.     cout<<decoder(question)<<endl<<"- ";
  65.     string s; cin>>s;
  66.     if(encoder(s)==password1 || encoder(s)==password2){
  67.         cout<<"Hi, "<<decoder(password1)<<". Here is your message"<<endl<<endl;
  68.         cout<<decoder(message1)<<endl;
  69.     }
  70.     else{
  71.         cout<<decoder(message2)<<endl;
  72.     }
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement