Cézarova šifra pre n = 3:
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
Nasledujúcim kódom si ukážeme ako naprogramovať Cezarovú šifru v C#.
Kód v C#
/*
* Created by www.projectik.eu.
* User:
* Date: 3. 12. 2011
* Time: 11:20
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Cezar
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
private int posun = 3;
public MainForm()
{
InitializeComponent();
}
void RichTextBox1TextChanged(object sender, EventArgs e)
{
this.CeasarHash(this.richTextBox1.Text);
}
void CeasarHash(string vstup)
{
char[] znaky = vstup.ToCharArray();
string newString = "";
foreach(char znak in znaky)
{
if(znak >= 'A' && znak <='Z' )
{
if((znak + 3) > 'Z')
{
newString += Convert.ToChar(((int)znak+posun)-(26)).ToString();
}
else
{
newString += Convert.ToChar((int)znak+posun).ToString();
}
}
if(znak >= 'a' && (int)znak <= 'z')
{
if((znak + 3) > 'z')
{
newString += Convert.ToChar(((int)znak+posun)-(26)).ToString();
}
else
{
newString += Convert.ToChar((int)znak+posun).ToString();
}
}
}
this.richTextBox2.Text = newString;
}
}
}
Dešifrovanie funguje presne opačným zpôsobom (odpočítame posun od šifrovaného textu):







