MethodsHelper.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using CommonTools;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Security.Cryptography;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace WeChatCore.Common
  10. {
  11. /// <summary>
  12. /// 方法合集
  13. /// </summary>
  14. public static class MethodsHelper
  15. {
  16. /// <summary>
  17. /// 返回ClientMsgId
  18. /// </summary>
  19. /// <returns></returns>
  20. public static string GetClientMsgId()
  21. {
  22. string UnixTimeSpan = DateTimeToosHelper.GetUnixTimeSpan().ToString();
  23. // UnixTimeSpan = UnixTimeSpan.Substring(0, 4) + GetThreeNumber() + new Random().Next(0, 9);
  24. return UnixTimeSpan + GetThreeNumber() + GetThreeNumber() + new Random().Next(0, 9);
  25. }
  26. /// <summary>
  27. /// 返回三位随机数
  28. /// </summary>
  29. /// <returns></returns>
  30. public static string GetThreeNumber()
  31. {
  32. Random r = new Random();
  33. StringBuilder sb = new StringBuilder();
  34. int i = r.Next(0, 9);
  35. sb.Append(i);
  36. int j = r.Next(i, 9);
  37. sb.Append(j);
  38. int k = r.Next(j, 9);
  39. sb.Append(k);
  40. return sb.ToString();
  41. }
  42. public static string GetDeviceId()
  43. {//DeviceID=e3244 3631 0531 059
  44. Random r = new Random();
  45. StringBuilder sb = new StringBuilder();
  46. int i = r.Next(0, 9);
  47. sb.Append(i);
  48. int j = r.Next(i, 9);
  49. sb.Append(j);
  50. int k = r.Next(j, 9);
  51. sb.Append(k);
  52. i = r.Next(k, 9);
  53. sb.Append(i);
  54. j = r.Next(i, 9);
  55. sb.Append(j);
  56. k = r.Next(j, 9);
  57. sb.Append(k);
  58. i = r.Next(k, 9);
  59. sb.Append(i);
  60. j = r.Next(i, 9);
  61. sb.Append(j);
  62. k = r.Next(j, 9);
  63. sb.Append(k);
  64. sb.Append(GetThreeNumber());
  65. return "e" + sb.ToString();
  66. }
  67. /// <summary>
  68. /// 生成MD5
  69. /// </summary>
  70. /// <param name="source"></param>
  71. /// <returns></returns>
  72. public static string EncryptWithMD5(string source)
  73. {
  74. byte[] sor = Encoding.UTF8.GetBytes(source);
  75. MD5 md5 = MD5.Create();
  76. byte[] result = md5.ComputeHash(sor);
  77. StringBuilder strbul = new StringBuilder(40);
  78. for (int i = 0; i < result.Length; i++)
  79. {
  80. strbul.Append(result[i].ToString("x2"));//加密结果"x2"结果为32位,"x3"结果为48位,"x4"结果为64位
  81. }
  82. return strbul.ToString();
  83. }
  84. /// <summary>
  85. /// 下载头像的保存
  86. /// </summary>
  87. /// <param name="FilePath"></param>
  88. /// <returns></returns>
  89. public static string HeadImageSaveFile(string FilePath,string NickName)
  90. {
  91. if (!Directory.Exists(Environment.CurrentDirectory + "\\" + FilePath))
  92. Directory.CreateDirectory(Environment.CurrentDirectory + "\\" + FilePath);
  93. return EncryptWithMD5(NickName);
  94. }
  95. /// <summary>
  96. /// 生成本地MP3文件
  97. /// </summary>
  98. /// <param name="UserName">当前用户名</param>
  99. /// <returns>返回文件是UUID</returns>
  100. public static string MsgSaveFile(string FilePath)
  101. {
  102. if (!Directory.Exists(Environment.CurrentDirectory + "\\" + FilePath))
  103. Directory.CreateDirectory(Environment.CurrentDirectory + "\\" + FilePath);
  104. // byte[] message = Convert.FromBase64String(Base64Code);
  105. string Guids = Guid.NewGuid().ToString().ToUpper().Replace("-", "");
  106. //string FilePath = Environment.CurrentDirectory + "\\" + UserName + "\\" + Guids + ".mp3";
  107. return Guids;
  108. }
  109. }
  110. }