Advertisement
kknndd_

Untitled

Mar 9th, 2021
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.06 KB | None | 0 0
  1. unsigned char* bit_encrypt(const char* text){
  2.  
  3.     unsigned char *dec = calloc(strlen(text)+1, sizeof *text);
  4.  
  5.     for(int i = 0; i < strlen(text); i++){
  6.         int znak = text[i];
  7.         //
  8.         printf("%d\n", (int)text[i] );
  9.         //
  10.         int bin[] = {0,0,0,0,0,0,0,0};
  11.         //128 64 32 16 8 4 2 1
  12.         for(int j = 0; j < 8; j++){
  13.             if(znak >= 128){
  14.                 znak -= 128;
  15.                 bin[0] = 1;
  16.             } else if(znak >= 64){
  17.                 znak -= 64;
  18.                 bin[1] = 1;
  19.             } else if(znak >= 32){
  20.                 znak -= 32;
  21.                 bin[2] = 1;
  22.             } else if(znak >= 16){
  23.                 znak -= 16;
  24.                 bin[3] = 1;
  25.             } else if(znak >= 8){
  26.                 znak -= 8;
  27.                 bin[4] = 1;
  28.             } else if(znak >= 4){
  29.                 znak -= 4;
  30.                 bin[5] = 1;
  31.             } else if(znak >= 2){
  32.                 znak -= 2;
  33.                 bin[6] = 1;
  34.             } else if(znak >= 1){
  35.                 znak -= 1;
  36.                 bin[7] = 1;
  37.             }
  38.         }
  39.        
  40.         int fbin[2][4];
  41.             fbin[0][0] = bin[1];
  42.             fbin[0][1] = bin[0];
  43.             fbin[0][2] = bin[3];
  44.             fbin[0][3] = bin[2];
  45.            
  46.             fbin[1][0] = bin[4] ^ fbin[0][0];
  47.             fbin[1][1] = bin[5] ^ fbin[0][1];
  48.             fbin[1][2] = bin[6] ^ fbin[0][2];
  49.             fbin[1][3] = bin[7] ^ fbin[0][3];
  50.  
  51.         int temp = 0;
  52.  
  53.         if(fbin[0][0] == 1){
  54.             temp+=128;
  55.         }
  56.         if(fbin[0][1] == 1){
  57.             temp+=64;
  58.         }
  59.         if(fbin[0][2] == 1){
  60.             temp+=32;
  61.         }
  62.         if(fbin[0][3] == 1){
  63.             temp+=16;
  64.         }
  65.         if(fbin[1][0] == 1){
  66.             temp+=8;
  67.         }
  68.         if(fbin[1][1] == 1){
  69.             temp+=4;
  70.         }
  71.         if(fbin[1][2] == 1){
  72.             temp+=2;
  73.         }
  74.         if(fbin[1][3] == 1){
  75.             temp+=1;
  76.         }
  77.  
  78.         dec[i] = (char)temp;
  79.        
  80.     }
  81.  
  82.     return dec;
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement