Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication2
- {
- class Program
- {
- static public byte Xor(byte a, byte b)
- {
- byte result = 0;
- bool bitA, bitB, bitXor;
- for (int i = 7; i >= 0; i--)
- {
- bitA = ((1 << i) & a) != 0;
- bitB = ((1 << i) & b) != 0;
- bitXor = (!bitA && bitB) || (bitA && !bitB);
- result |= Convert.ToByte(bitXor);
- if (i > 0)
- {
- result = (byte)(result << 1);
- }
- }
- return result;
- }
- static void Main(string[] args)
- {
- var input = Encoding.UTF8.GetBytes("Hello world!");
- var key = Encoding.UTF8.GetBytes("i'm supa xor");
- var result = new List<byte>();
- for (int i = 0; i < input.Length; i++)
- {
- result.Add(Xor(input[i], key[i]));
- Console.WriteLine("{0} xor {1} = {2}", input[i], key[i], Xor(input[i], key[i]));
- }
- Console.WriteLine("Bytes: {0}", result.ConvertAll(b => b.ToString()).Aggregate((a, b) => a + " " + b));
- Console.WriteLine("String: {0}", Encoding.UTF8.GetString(result.ToArray()));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment