WebEncrypter.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 encryptor for AuthenticationTicket, Drawings filename,...
  7. /// </summary>
  8. public class WebEncrypter
  9. {
  10. /// <summary>
  11. /// 
  12. /// </summary>
  13. public WebEncrypter()
  14. {
  15. }
  16. /// <summary>
  17. /// Encrypts a string.
  18. /// </summary>
  19. /// <param name="Text">The string should be encrypted.</param>
  20. /// <param name="Key">The 8-bit string for encryption.</param>
  21. /// <returns>The encrypted string.</returns>
  22. public string Encrypt(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. try
  30. {
  31. Encryptor enc = new Encryptor(EncryptionAlgorithm.Des);
  32. byte[] plainText = Encoding.ASCII.GetBytes(Text);
  33. key = Encoding.ASCII.GetBytes(Key);
  34. IV = Encoding.ASCII.GetBytes("init vec"); // "init vec is big."
  35. enc.IV = IV;
  36. cipherText = enc.Encrypt(plainText, key);
  37. IV = enc.IV;
  38. key = enc.Key;
  39. }
  40. catch(Exception ex)
  41. {
  42. throw new Exception("Exception while encrypting. " + ex.Message);
  43. }
  44. return Convert.ToBase64String(cipherText);
  45. }
  46. }
  47. }