加密和解密
这是可以制作 Caesar 密码的软件。
引言
Ceasares 代码,用于加密文本和文本文件:)
背景
Using the Code
该软件是用阿尔巴尼亚语编写的。所以我们来解释一些阿尔巴尼亚语单词到英语。
ENKRIPTO 这个词 - 意思是加密,DEKRYPTO 意思是解密。CELESI 这个词 - 意思是密钥 -> 需要移动(位移)多少个字符,例如
A -> 到 C 意味着密钥为 2,ENKRIPTIMI dhe DEKRIPTIMI 意思是加密和解密
技巧在于凯撒的公式和密钥
类:Enkripto_Dekripto.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CESAR1
{
public class Enkripto_Dekripto
{
private float karakteret;
private string strBrowse;
private int MemoriaCelesi;
public int CelesiMemorik
{
set
{
MemoriaCelesi = value;
}
get
{
return MemoriaCelesi;
}
}
public float k
{
set
{
karakteret = value;
}
get
{
return karakteret;
}
}
public string str
{
set
{
strBrowse = value;
}
get
{
return strBrowse;
}
}
public Enkripto_Dekripto()
{
karakteret = 0.0f;
strBrowse = string.Empty;
MemoriaCelesi = 0;
}
}
}
private void btnEnkripto_Click(object sender, EventArgs e)
{
if (txtPlainText.Text.Length != 0)
{
txtEnkriptuar.Clear();
int Total = txtPlainText.Text.Length;
lblTekstiCH.Text = Total.ToString();
char[] c;
int p;
int Celesi = Convert.ToInt16(txtCelesi.Text);
c = txtPlainText.Text.ToCharArray(0, Total);
objEnkDek.CelesiMemorik = Celesi;
for (int i = 0; i < Total; i++)
{
if (c[i] > 64 && c[i] < 91)
{
objEnkDek.k = objEnkDek.k + 1;
p = (char)c[i];
p = p - 65;
if ((Celesi >= 0) && (Celesi <= 26))
{
p = p + Celesi;
p = p % 26;
p = p + 65;
c[i] = (char)p;
}
else
{
MessageBox.Show("Celesi duhet te jete numer pozitiv mbrenda 0-26");
txtCelesi.Text = "0";
Celesi = 0;
}
}
else if (c[i] > 96 && c[i] < 123)
{
objEnkDek.k = objEnkDek.k + 1;
p = (char)c[i];
p = p - 97;
if ((Celesi >= 0) && (Celesi <= 26))
{
p = p + Celesi;
p = p % 26;
p = p + 97;
c[i] = (char)p;
}
else
{
MessageBox.Show("Celesi duhet te jete numer pozitiv mbrenda 0-26");
txtCelesi.Text = "0";
Celesi = 0;
}
}
txtEnkriptuar.AppendText(c[i].ToString());
}
}
else
{
MessageBox.Show("Ju lutem Mbushni Text per te Enkriptuar");
}
lblEnCH.Text = txtEnkriptuar.Text.Length.ToString();
}
private void btnDekripto_Click(object sender, EventArgs e)
{
if (txtiEnkriptuar.Text.Length != 0)
{
txtDekriptuar.Clear();
int Total = txtiEnkriptuar.Text.Length;
lblEnD.Text = Total.ToString();
char[] c;
int p;
int CelesiDE = Convert.ToInt16(txtCelesiDE.Text);
CelesiDE = CelesiDE % 26;
c = txtiEnkriptuar.Text.ToCharArray(0, Total);
for (int i = 0; i < Total; i++)
{
if (c[i] > 64 && c[i] < 91)
{
p = (char)c[i];
p = p - 65;
if ((CelesiDE >= 0) && (CelesiDE <= 26))
{
p = p - CelesiDE;
if (p < 0)
{
p = 26 + p;
}
p = p + 65;
c[i] = (char)p;
}
else
{
MessageBox.Show("Celesi duhet te jete numer pozitiv mbrenda 0-26");
txtCelesiDE.Text = "0";
CelesiDE = 0;
}
}
else if (c[i] > 96 && c[i] < 123)
{
p = (char)c[i];
p = p - 97;
if ((CelesiDE >= 0) && (CelesiDE <= 26))
{
p = p - CelesiDE;
if (p < 0)
{
p = 26 + p;
}
p = p + 97;
c[i] = (char)p;
}
else
{
MessageBox.Show("Celesi duhet te jetenumer pozitiv mbrenda 0-26");
txtCelesiDE.Text = "0";
CelesiDE = 0;
}
}
txtDekriptuar.AppendText(c[i].ToString());
}
}
lblDECH.Text = txtDekriptuar.Text.Length.ToString();
}
历史
待续