解决方案 »

  1.   

    using System;
    using System.IO; 
    using System.Security.Cryptography;namespace bh
    {
    /// <summary>
    /// Security 的摘要说明。
    /// </summary>
    public class Security
    {
    const string KEY_64 = "xxxxxxxx"; 
    const string IV_64 = "xxxxxxxx"; //注意了,是8个字符,64位 
    public Security()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    } public static string Encode(string data) //加密

    byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); 
    byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);  DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); 
    int i = cryptoProvider.KeySize; 
    MemoryStream ms = new MemoryStream(); 
    CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);  StreamWriter sw = new StreamWriter(cst); 
    sw.Write(data); 
    sw.Flush(); 
    cst.FlushFinalBlock(); 
    sw.Flush(); 
    return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);  }  public static string Decode(string data) //解密

    byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); 
    byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);  byte[] byEnc; 
    try 

    byEnc = Convert.FromBase64String(data); 

    catch 

    return null; 
    }  DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); 
    MemoryStream ms = new MemoryStream(byEnc); 
    CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read); 
    StreamReader sr = new StreamReader(cst); 
    return sr.ReadToEnd(); 
    }
    }
    }
      

  2.   

    KEY_64和IV_64都是什么?DES不就一个密匙吗?