Hibok
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

38 linhas
825 B

  1. import 'dart:convert';
  2. import 'package:convert/convert.dart';
  3. import 'package:crypto/crypto.dart';
  4. class TokenMgr {
  5. //私有构造函数
  6. TokenMgr._internal();
  7. //保存单例
  8. static TokenMgr _singleton = new TokenMgr._internal();
  9. //工厂构造函数
  10. factory TokenMgr() => _singleton;
  11. String getSign(Map parameter) {
  12. String k = '';
  13. var keyList = [];
  14. for (var key in parameter.keys) {
  15. keyList.add(key);
  16. }
  17. keyList.sort();
  18. for (var key in keyList) {
  19. k += '$key=${parameter[key]}&';
  20. }
  21. k += 'key=O@MlSxWaeAlc5CYu';
  22. print(k);
  23. return generateMd5(k);
  24. }
  25. String generateMd5(String data) {
  26. var content = new Utf8Encoder().convert(data);
  27. var digest = md5.convert(content);
  28. return hex.encode(digest.bytes);
  29. }
  30. }