//复制粘贴即可使用
class Program
{
static void Main(string[] args)
{
string value = null;
string jeiguo = null;
while (true)
{
Console.WriteLine("1:加密,2:解密,3:关闭");
string shuru = Console.ReadLine();
switch (shuru)
{
case "1":
Console.WriteLine("请输入加密内容:");
value = Console.ReadLine();
jeiguo = PasswordHelper.DESEncrypt(value);
Console.WriteLine("结果:" + jeiguo.ToString());
break;
case "2":
Console.WriteLine("请输入解密内容:");
value = Console.ReadLine();
jeiguo = PasswordHelper.DESDecrypt(value);
Console.WriteLine("结果:" + jeiguo.ToString());
break;
case "3":
return;
}
}
}
}
public static class PasswordHelper
{
#region DES 加密/解密
private static byte[] key = ASCIIEncoding.ASCII.GetBytes("uiertysd");
private static byte[] iv = ASCIIEncoding.ASCII.GetBytes("99008855");
/// <summary>
/// DES加密。
/// </summary>
/// <param name="inputString">输入字符串。</param>
/// <returns>加密后的字符串。</returns>
public static string DESEncrypt(string inputString)
{
MemoryStream ms = null;
CryptoStream cs = null;
StreamWriter sw = null;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
try
{
ms = new MemoryStream();
cs = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write);
sw = new StreamWriter(cs);
sw.Write(inputString);
sw.Flush();
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
finally
{
if (sw != null) sw.Close();
if (cs != null) cs.Close();
if (ms != null) ms.Close();
}
}
/// <summary>
/// DES解密。
/// </summary>
/// <param name="inputString">输入字符串。</param>
/// <returns>解密后的字符串。</returns>
public static string DESDecrypt(string inputString)
{
MemoryStream ms = null;
CryptoStream cs = null;
StreamReader sr = null;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
try
{
ms = new MemoryStream(Convert.FromBase64String(inputString));
cs = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
sr = new StreamReader(cs);
return sr.ReadToEnd();
}
finally
{
if (sr != null) sr.Close();
if (cs != null) cs.Close();
if (ms != null) ms.Close();
}
}
#endregion
}