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...