Solutions
The following sections describe solutions to the preceding problems. You can download the example solutions to see additional details and to experiment with the programs at https://github.com/PacktPublishing/The-Modern-CSharp-Challenge/tree/master/Chapter09.
91. Caesar cipher
This problem is relatively straightforward. Simply loop through the message's letters and shift them by some amount.
Â
Â
The example solution uses the following string extension method to encrypt a string:
// Use a Caesar cipher to encrypt the plaintext. public static string CaesarEncrypt(this string plaintext, int shift) { plaintext = plaintext.StripText(); // Encrypt. char[] chars = new char[plaintext.Length]; for (int i = 0; i < plaintext.Length; i++) { int ch = plaintext[i] - 'A'; ch = (ch + shift + 26) % 26; chars[i] = (char)('A' + ch); } return new string(chars).ToFiveGrams(); }
This method calls the StripText
extension method described shortly to remove...