Encrypt.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.IO;
  4. namespace Ant.Service.Utilities
  5. {
  6. /// <summary>
  7. /// 加密解密实用类。
  8. /// </summary>
  9. public class Encrypt
  10. {
  11. //密钥
  12. private static byte[] arrDESKey = new byte[] {42, 16, 93, 156, 78, 4, 218, 32};
  13. private static byte[] arrDESIV = new byte[] {55, 103, 246, 79, 36, 99, 167, 3};
  14. /// <summary>
  15. /// 加密。
  16. /// </summary>
  17. /// <param name="m_Need_Encode_String"></param>
  18. /// <returns></returns>
  19. public static string Encode(string m_Need_Encode_String)
  20. {
  21. if (m_Need_Encode_String == null)
  22. {
  23. throw new Exception("Error: \n源字符串为空!!");
  24. }
  25. DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
  26. MemoryStream objMemoryStream = new MemoryStream();
  27. CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateEncryptor(arrDESKey,arrDESIV),CryptoStreamMode.Write);
  28. StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
  29. objStreamWriter.Write(m_Need_Encode_String);
  30. objStreamWriter.Flush();
  31. objCryptoStream.FlushFinalBlock();
  32. objMemoryStream.Flush();
  33. return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length);
  34. }
  35. /// <summary>
  36. /// 解密。
  37. /// </summary>
  38. /// <param name="m_Need_Encode_String"></param>
  39. /// <returns></returns>
  40. public static string Decode(string m_Need_Encode_String)
  41. {
  42. if (m_Need_Encode_String == null)
  43. {
  44. throw new Exception("Error: \n源字符串为空!!");
  45. }
  46. DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
  47. byte[] arrInput = Convert.FromBase64String(m_Need_Encode_String);
  48. MemoryStream objMemoryStream = new MemoryStream(arrInput);
  49. CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateDecryptor(arrDESKey,arrDESIV),CryptoStreamMode.Read);
  50. StreamReader objStreamReader = new StreamReader(objCryptoStream);
  51. return objStreamReader.ReadToEnd();
  52. }
  53. /// <summary>
  54. /// md5
  55. /// </summary>
  56. /// <param name="encypStr"></param>
  57. /// <returns></returns>
  58. public static string Md5(string encypStr)
  59. {
  60. string retStr;
  61. MD5CryptoServiceProvider m5 = new MD5CryptoServiceProvider();
  62. byte[] inputBye;
  63. byte[] outputBye;
  64. inputBye = System.Text.Encoding.ASCII.GetBytes(encypStr);
  65. outputBye = m5.ComputeHash(inputBye);
  66. retStr = Convert.ToBase64String(outputBye);
  67. return (retStr);
  68. }
  69. }
  70. }