Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Main(string[] args)
- {
- Console.Write("Please enter your message (no spaces, they will be removed): ");
- var message = Console.ReadLine();
- message = message.ToLower().Replace(" ", "");
- Console.Write("Enter your encryption key (number series)");
- var key = Console.ReadLine();
- var encoded = Caesar(message, KeyToArray(key, true), true);
- Console.WriteLine("Your encoded message: " + encoded + "\n\n\n");
- Console.WriteLine("Switch sides, your are the receiver. Encoded message already put in");
- Console.Write("Enter your key length:");
- var length = Int32.Parse(s: Console.ReadLine());
- var decode = Caesar(encoded, KeyToArray(encoded.Substring(0,length), false), false);
- Console.Write("Message decoded: " + decode);
- Console.Read();
- }
- private static int[] KeyToArray(string key, bool Encode)
- {
- var result = new int[key.Length];
- for (var i = 0; i < key.Length; i++)
- result[i] = Encode ? Int32.Parse(key.Substring(i, 1)) : -(key.Substring(i, 1).ToCharArray()[0] - 96);
- return result;
- }
- static string Caesar(string value, int[] shift, bool Encode)
- {
- var s = 0;
- var startIndex = Encode ? 0 : shift.Length;
- var shiftLength = shift.Length;
- char[] buffer = value.ToCharArray(startIndex, value.Length - startIndex);
- var key = "";
- for (int x = 0; x < shiftLength; x++)
- {
- key += (char) (shift[x] + 96);
- }
- for (int i = 0; i < buffer.Length; i++)
- {
- char letter = buffer[i];
- letter = (char)(letter + shift[s]);
- if (letter > 'z')
- {
- letter = (char)(letter - 26);
- }
- else if (letter < 'a')
- {
- letter = (char)(letter + 26);
- }
- buffer[i] = letter;
- s++;
- if (s == shiftLength)
- s = 0;
- }
- return (Encode ? key : "") + new string(buffer);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement