CSharp · Console
using System;
public class Program
{
private static string CaesarCypher(string value, int shift)
{
char[] buffer = value.ToCharArray();
for (int i = 0; i < buffer.Length; i++)
{
// Letter.
char letter = buffer[i];
if (Char.IsLetter(letter))
{
bool isLower = Char.IsLower(letter);
// Add shift
letter = (char)(letter + shift);
// Subtract 26 on overflow.
// Add 26 on underflow.
if (isLower)
{
if (letter > 'z')
letter = (char) (letter - 26);
else if (letter < 'a')
letter = (char) (letter + 26);
}
else
{
if (letter > 'Z')
letter = (char)(letter - 26);
else if (letter < 'A')
letter = (char)(letter + 26);
}
}
// Store.
buffer[i] = letter;
}
return new string(buffer);
}
public static void Main()
{
string secretMessage = @"STGML MK
========
Ow sjw s yjgmh gx .FWL vwnwdghwjk ozg sjw kauc sfv lajwv gx klsjlafy Nakmsd Klmvag, ujwslafy s fwo hjgbwul sfv jmffafy al, bmkl lg lwkl kaehdw ugvw gj ljq gml ksehdwk xjge glzwj vwnwdghwjk.
Lzak lggd osk afkhajwv tq zllh://bkxavvdw.fwl, ozauz ak bmkl sowkgew.
Ax qgm sjw aflwjwklwv af ogjcafy gf .FWL Xavvdw hdwskw kwfv qgmj jwkmew sfv dafck lg s ugmhdw gx qgmj twkl xavvdwk lg vglfwlxavvdw sl wflwuzkgdmlagfk vgl uge. Lzw egkl aehjwkkanw xavvdw oadd ywl lzw bgt.
WFLwuz Kgdmlagfk
zllh://ooo.wflwuzkgdmlagfk.uge";
string notSoSecretMessage = CaesarCypher(secretMessage, -18);
Console.WriteLine(notSoSecretMessage);
}
}