public CaesarsCipherDecryptor(TextMessage msg, int key) { msg.Message = msg.Message.ToUpper(); this.Message = ""; for (int i = 0; i < msg.Message.Length; i++) { int nextChar = msg.Message[i] - 'A'; nextChar = (nextChar - key) % 26; this.Message += (char)(nextChar + 'A'); } }
static void Main(string[] args) { Console.Write("Enter String: "); TextMessage message = new TextMessage(); message.Message = Console.ReadLine(); TextMessage caesarsCipherEncryptor = new CaesarsCipherEncryptor(message, 7); Console.WriteLine("Encrypting message: " + caesarsCipherEncryptor.Message); TextMessage caesarsCipherDecryptor = new CaesarsCipherDecryptor(caesarsCipherEncryptor, 7); Console.WriteLine("Decrypting message: " + caesarsCipherDecryptor.Message); Console.ReadLine(); }
public CaesarsCipherEncryptor(TextMessage msg, int key) { // From This is CS 50. Harvard College Fall 2009 problem set 2 // Caesar's Cipher // If p is some plaintext (i.e., an unencrypted message), pi is the i th character in p, // and k is a key (i.e., a non-negative integer), then each letter, ci, in the ciphertext, c, is computed // as: // ci = (pi + k) % 26 msg.Message = msg.Message.ToUpper(); this.Message = ""; for (int i = 0; i < msg.Message.Length; i++) { int nextChar = msg.Message[i] - 'A'; nextChar = (nextChar + key) % 26; this.Message += (char)(nextChar + 'A'); } }