byte[] key = System.Text.Encoding.ASCII.GetBytes(keystr);
byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, desc.CreateEncryptor(key, key), CryptoStreamMode.Write);
cs.Write(data, 0, data.Length);
cs.FlushFinalBlock();
return System.Convert.ToBase64String(ms.ToArray());
}
//// <summary>
/// 解密
/// </summary>
/// <param name="datastr">要解密的字符串</param>
/// <param name="keystr">解密的密钥</param>
/// <returns></returns>
public static String Decrypt(String datastr, String keystr)
{
byte[] data = System.Convert.FromBase64String(datastr);
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();
byte[] key = System.Text.Encoding.ASCII.GetBytes(keystr);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, desc.CreateDecryptor(key, key), CryptoStreamMode.Write);
cs.Write(data, 0, data.Length);
cs.FlushFinalBlock();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());
}