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

//加密
public static string Encrypt_String(string Value)
{
    
//密钥
    string sKey = "aaa";
    
//矢量,可为空
    string sIV = "bbb";
    
//构造对称算法
    SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();

    ICryptoTransform ct;
    MemoryStream ms;
    CryptoStream cs;
    
byte[] byt;
    mCSP.Key 
= Convert.FromBase64String(sKey);
    mCSP.IV 
= Convert.FromBase64String(sIV);
    mCSP.Mode 
= System.Security.Cryptography.CipherMode.ECB;
    mCSP.Padding 
= System.Security.Cryptography.PaddingMode.PKCS7;
    ct 
= mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
    byt 
= Encoding.UTF8.GetBytes(Value);
    ms 
= new MemoryStream();
    cs 
= new CryptoStream(ms, ct, CryptoStreamMode.Write);
    cs.Write(byt, 
0, byt.Length);
    cs.FlushFinalBlock();
    cs.Close();
    
return Convert.ToBase64String(ms.ToArray());
}


//解密
public static string Decrypt_String(string Value)
{
    
string sKey = "aaa";
    
string sIV = "bbb";
    SymmetricAlgorithm mCSP 
= new TripleDESCryptoServiceProvider();

    ICryptoTransform ct;
    MemoryStream ms;
    CryptoStream cs;
    
byte[] byt;
    mCSP.Key 
= Convert.FromBase64String(sKey);
    mCSP.IV 
= Convert.FromBase64String(sIV);
    mCSP.Mode 
= System.Security.Cryptography.CipherMode.ECB;
    mCSP.Padding 
= System.Security.Cryptography.PaddingMode.PKCS7;
    ct 
= mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
    byt 
= Convert.FromBase64String(Value);
    ms 
= new MemoryStream();
    cs 
= new CryptoStream(ms, ct, CryptoStreamMode.Write);
    cs.Write(byt, 
0, byt.Length);
    cs.FlushFinalBlock();
    cs.Close();
    
return Encoding.UTF8.GetString(ms.ToArray());
}

posted on 2007-05-10 15:56  刺猬博客  阅读(646)  评论(0)    收藏  举报