Строка desKey = "BFYB_KEY";//ключ
Строка desIV = "BFYB_IIV";//Вектор
/// <сводка>
/// DES加密
/// </summary>
/// <param name="originText"></param>
/// <returns></returns>
public String desEncode(String originText)
{ byte[] tmpDesKey = System.Text.ASCIIEncoding.ASCII.GetBytes(desKey); byte[] tmpDesIV = System.Text.ASCIIEncoding.ASCII.GetBytes(desIV); // DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider(); MemoryStream memStream = новый MemoryStream(); CryptoStream cryptoStream = новый CryptoStream(memStream, desProvider.CreateEncryptor(tmpDesKey, tmpDesIV), CryptoStreamMode.Write);
StreamWriter streamWriter = новый StreamWriter(cryptoStream);
streamWriter.Write(originText);
streamWriter.Flush();
cryptoStream.FlushFinalBlock();
streamWriter.Flush();
Строка retStr = Convert.ToBase64String(memStream.GetBuffer(), 0, (int)memStream.Length);
вернуть ретстр;
}
/// <summary>
/// DES密
/// </summary>
/// <param name="originText"></param>
/// <returns></returns>
public String desDecode(String originText )
{ byte[] tmpDesKey = System.Text.ASCIIEncoding.ASCII.
byte[] tmpDesIV = System.Text.ASCIIEncoding.ASCII.GetBytes(desIV);
//
byte[] originBytes;
попробуйте
{ originText.Replace("_%_", "/"); originText.Replace("-%-", "#"); originBytes = Convert.FromBase64String(originText); } catch (исключение исключения) { return null; } DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider(); MemoryStream memStream = новый MemoryStream (originBytes);
CryptoStream cryptoStream = новый CryptoStream(memStream, desProvider.CreateDecryptor(tmpDesKey, tmpDesIV), CryptoStreamMode.Read);
StreamReader steamReader = новый StreamReader(cryptoStream);
Строка retString = steamReader.ReadToEnd();
вернуть ретстринг;
}