using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.IO;
using
System.Security.Cryptography;
namespace
LC2Crypt
{
class
Program
{
static
void
Main(
string
[] args)
{
string
OriStr =
"Hello World"
;
string
EncStr = Encrypt(OriStr);
string
DecStr = Decrypt(EncStr);
Console.WriteLine(
"원본 데이터=========================="
);
Console.WriteLine(OriStr);
Console.WriteLine(
"암호화 데이터========================="
);
Console.WriteLine(EncStr);
Console.WriteLine(
"복호화 데이터========================="
);
Console.WriteLine(DecStr);
}
static
byte
[] Skey = ASCIIEncoding.ASCII.GetBytes(
"11111111"
);
static
string
Encrypt(
string
p_data)
{
DESCryptoServiceProvider rc2 =
new
DESCryptoServiceProvider();
rc2.Key = Skey;
rc2.IV = Skey;
MemoryStream ms =
new
MemoryStream();
CryptoStream cryStream =
new
CryptoStream(ms, rc2.CreateEncryptor(), CryptoStreamMode.Write);
byte
[] data = Encoding.UTF8.GetBytes(p_data.ToCharArray());
cryStream.Write(data, 0, data.Length);
cryStream.FlushFinalBlock();
return
Convert.ToBase64String(ms.ToArray());
}
static
string
Decrypt(
string
p_data)
{
DESCryptoServiceProvider rc2 =
new
DESCryptoServiceProvider();
rc2.Key = Skey;
rc2.IV = Skey;
MemoryStream ms =
new
MemoryStream();
CryptoStream cryStream =
new
CryptoStream(ms, rc2.CreateDecryptor(), CryptoStreamMode.Write);
byte
[] data = Convert.FromBase64String(p_data);
cryStream.Write(data, 0, data.Length);
cryStream.FlushFinalBlock();
return
Encoding.UTF8.GetString(ms.GetBuffer());
}
}
}