C# XOR (Bitwise) İle String Şifreleme

ravex

Ultra Member
Joined
Jul 30, 2019
Topics
217
Messages
656
Reaction score
384
Location
Turkey
RC Point
0
XOR(Özel Veya) Operatörü aldığı değerler üzerinde XOR işlemi gerçekleştirir kısaca
1578485032664.png
şeklinde sonuç üretir. Bu işlemi yapabilmek için girilen değerleri binary’e çevirdikten sonra XOR işlemine tabi tutmamız lazım
14 = 00001110 (Binary Karşılığı)
11 = 00001011 (Binary Karşılığı)
————-
5 = 00000101 (Binary Karşılığı) gibi birsonuç olacaktır. C#’da sayıları XOR işlemine tabi tutmak için “^” işareti kullanılır.
Yapacağımız örnekte kullanıcı bir metin girecek, girilen metindeki her karakter önce ascii daha sonrada binary çevirimi yapılacak ve bizim belirlediğimiz bir sayı ile XOR işlemine tabi tututalcak kodlarımız

C#:
Console.WriteLine("Kelime Girin");
          string s = Console.ReadLine();
          int sabit =11;
          string sonuc = "";
          foreach (char c in s)
          {
              int yeni=System.Convert.ToInt32(c)^sabit;
              Console.WriteLine(Binary(System.Convert.ToInt32(c)) + "-"+Binary(sabit)+"= "+ Binary(yeni)+" "+Convert.ToChar(yeni));
              sonuc += Convert.ToChar(yeni);// https://www.realitycheats.com/
          }
          Console.WriteLine(sonuc);           
          Console.ReadKey();
      }
      static string Binary(int n)
      {
          char[] b = new char[32];
          int pos = 31;
          int i = 0;
          while (i < 32)
          {
              if ((n & (1 << i)) != 0)
              {
                  b[pos] = '1';
              }
              else
              {
                  b[pos] = '0';
              }
              pos--;
              i++;
          }
          return new string(b);
      }

 
Top