테스트 예제
1 미리보기
// 초기화
private void DesCryptoDemo_Load(object sender, EventArgs e)
{
textBox1.Text = "가나다라마바사아자차카타파하";
textBox1.Text += "\r\n1234567890";
textBox1.Text += "\r\nABCDEFGHIJKLMNOPQRSTUVWXYZ";
textBox1.Text += "\r\nabcdefghijklmnopqrstuvwxyz";
txtKey.Text = "12345678";//필히 8자리
txtIV.Text = "12345678";//필히 8자리
}
//암호화
private void button1_Click(object sender, EventArgs e)
{
DESCryptoServiceProvider DesKey = new DESCryptoServiceProvider();
DesKey.Key = Encoding.Default.GetBytes(txtKey.Text);
DesKey.IV = Encoding.Default.GetBytes(txtIV.Text);
MemoryStream ms = new MemoryStream();
CryptoStream encStream = new CryptoStream(ms, DesKey.CreateEncryptor(), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(encStream);
sw.Write(textBox1.Text);
sw.Close();
encStream.Close();
textBox2.Text = Convert.ToBase64String(ms.ToArray());
ms.Close();
}
//복호화
private void btn복호화_Click(object sender, EventArgs e)
{
DESCryptoServiceProvider DesKey = new DESCryptoServiceProvider();
DesKey.Key = Encoding.Default.GetBytes(txtKey.Text);
DesKey.IV = Encoding.Default.GetBytes(txtIV.Text);
byte[] buffer = Convert.FromBase64String(textBox2.Text);
MemoryStream ms = new MemoryStream(buffer);
ICryptoTransform ct = DesKey.CreateDecryptor();
CryptoStream encStream = new CryptoStream(ms, ct, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(encStream);
textBox3.Text = sr.ReadToEnd();
sr.Close();
encStream.Close();
ms.Close();
} |