WebDecrypter.cs
上传用户:szgaoree
上传日期:2009-01-05
资源大小:74k
文件大小:1k
源码类别:

Ajax

开发平台:

C#

  1. using System;
  2. using System.Text;
  3. namespace AjaxPro.Cryptography
  4. {
  5. /// <summary>
  6. /// PC-Topp.NET decryptor for AuthenticationTicket, Drawings filename,...
  7. /// </summary>
  8. public class WebDecrypter
  9. {
  10. /// <summary>
  11. /// 
  12. /// </summary>
  13. public WebDecrypter()
  14. {
  15. }
  16. /// <summary>
  17. /// Decrypts a string.
  18. /// </summary>
  19. /// <param name="Text">The encrypted string to be decrypted.</param>
  20. /// <param name="Key">The 8-bit string for decryption.</param>
  21. /// <returns>The plain text.</returns>
  22. public string Decrypt(string Text, string Key)
  23. {
  24. if(Key.Length != 8)
  25. throw new Exception("Key must be a 8-bit string!");
  26. byte[] IV = null;
  27. byte[] cipherText = null;
  28. byte[] key = null;
  29. byte[] plainText = null;
  30. try
  31. {
  32. Decryptor dec = new Decryptor(EncryptionAlgorithm.Des);
  33. IV = Encoding.ASCII.GetBytes("init vec"); // "init vec is big."
  34. dec.IV = IV;
  35. key = Encoding.ASCII.GetBytes(Key);
  36. cipherText = Convert.FromBase64String(Text);
  37. plainText = dec.Decrypt(cipherText, key);
  38. }
  39. catch(Exception ex)
  40. {
  41. throw new Exception("Exception while decrypting. " + ex.Message);
  42. }
  43. return Encoding.ASCII.GetString(plainText);
  44. }
  45. }
  46. }