union.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Text;
  2. using dodohold.core;
  3. namespace molilian.core
  4. {
  5. public partial class PddPoolCore
  6. {
  7. public static Dictionary<string, string> GenerateSignature(PddPoolDTO account, Dictionary<string, string> args)
  8. {
  9. if (args.ContainsKey("sign")) args.Remove("sign");
  10. // 对参数进行ASCII升序排序
  11. var sortedArgs = args.OrderBy(kv => kv.Key).ToDictionary(kv => kv.Key, kv => kv.Value);
  12. // 拼接排序后的参数
  13. StringBuilder stringBuilder = new StringBuilder();
  14. foreach (var kv in sortedArgs)
  15. {
  16. stringBuilder.Append(kv.Key).Append(kv.Value);
  17. }
  18. // 在头部和尾部分别拼接client_secret
  19. string signString = account.app_secret + stringBuilder.ToString() + account.app_secret;
  20. signString = signString.MD5(false, false);
  21. if (!args.TryAdd("sign", signString))
  22. {
  23. args["sign"] = signString;
  24. }
  25. return args;
  26. }
  27. }
  28. }