using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;
namespace Common

...{

/**
//// <summary>
/// DESEncrypt加密解密算法。
/// </summary>
public
sealed
class DESEncrypt

...{
private DESEncrypt()

...{
//
// TODO: 在此處添加構造函數邏輯
//

}
private
static
string key =
"zhoufoxcn";

/**
//// <summary>
/// 對稱加密解密的密鑰
/// </summary>
public
static
string Key

...{

get

...{
return key;

}

set

...{

key = value;

}

}

/**
//// <summary>
/// DES加密
/// </summary>
/// <param name="encryptString"></param>
/// <returns></returns>
public
static
string DesEncrypt(
string encryptString)

...{
byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] keyIV = keyBytes;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);

DESCryptoServiceProvider provider =
new DESCryptoServiceProvider();

MemoryStream mStream =
new MemoryStream();

CryptoStream cStream =
new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);

cStream.Write(inputByteArray, 0, inputByteArray.Length);

cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());

}

/**
//// <summary>
/// DES解密
/// </summary>
/// <param name="decryptString"></param>
/// <returns></returns>
public
static
string DesDecrypt(
string decryptString)

...{
byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] keyIV = keyBytes;
byte[] inputByteArray = Convert.FromBase64String(decryptString);

DESCryptoServiceProvider provider =
new DESCryptoServiceProvider();

MemoryStream mStream =
new MemoryStream();

CryptoStream cStream =
new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);

cStream.Write(inputByteArray, 0, inputByteArray.Length);

cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());

}

}

}