using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace des1
{
/// <summary>
/// testDea 的摘要說明。
/// </summary>
public class Des3
{
public Des3()
{
}
/// <summary>
/// 加密方法
/// </summary>
/// <param name="strData">明文,Unicode 編碼</param>
/// <param name="bs64key">密碼,base64編碼</param>
/// <returns>加密結果,base64編碼</returns>
public static string Encrypt(string strData,string bs64key)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Mode = CipherMode.ECB ;
des.Padding = PaddingMode.PKCS7;
des.Key = Convert.FromBase64String(bs64key);
byte [] bData = ASCIIEncoding.ASCII.GetBytes(strData);
return Convert.ToBase64String(des.CreateEncryptor().TransformFinalBlock(bData,0,bData.Length));
}
/// <summary>
/// 解密方法
/// </summary>
/// <param name="strData">明文,base64編碼</param>
/// <param name="bs64key">密碼,base64編碼</param>
/// <returns>解密結果,Unicode 編碼</returns>
public static string Decrypt(string strData, string bs64key)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Mode = CipherMode.ECB;
des.Padding = PaddingMode.PKCS7;
des.Key = Convert.FromBase64String(bs64key);
byte[] bData = Convert.FromBase64String(strData);
return ASCIIEncoding.ASCII.GetString(des.CreateDecryptor().TransformFinalBlock(bData, 0,bData.Length));
}
}
}