1. Ana Sayfa
  2. Visual Studio C#
  3. C# XOR (Bitwise) İle String Şifreleme

C# XOR (Bitwise) İle String Şifreleme

C# XOR (Bitwise) İle String Şifreleme

XOR(Özel Veya) Operatörü aldığı değerler üzerinde XOR işlemi gerçekleştirir kısaca

X
Y
Sonuç
1
1
0
1
0
1
0
1
1
0
0
0

ş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

  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.bilisimogretmeni.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);
        }

Yorum Yap
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Yorum
Inline Feedbacks
View all comments