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());
}
}
}