Subscription
0
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning

## You're reading fromThe Modern C# Challenge

Product type Book
Published in Oct 2018
Publisher Packt
ISBN-13 9781789535426
Pages 362 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Rod Stephens

Title Page
Dedication
Packt Upsell
Contributors
Preface
1. Mathematics 2. Geometry 3. Dates and Times 4. Randomization 5. Strings 6. Files and Directories 7. Advanced C# and .NET Features 8. Simulations 9. Cryptography 1. Other Books You May Enjoy Index

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

The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime