SignUtil.m 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // SignUtil.m
  3. // Demo
  4. //
  5. // Created by BensonZhang on 15/11/16.
  6. // Copyright © 2015年 xunlian. All rights reserved.
  7. //
  8. #import "SignUtil.h"
  9. #import "AllPayRequest.h"
  10. @implementation SignUtil
  11. +(NSString *)getSign:(NSMutableDictionary*)paramDic{
  12. return [SignUtil getMD5:[SignUtil getSignStr:paramDic signkey:@"2f2c77e3718c47cfb47a89a6fbc9d361"]];
  13. }
  14. +(NSString *)getSignStr:(NSMutableDictionary *)paramDic signkey:(NSString *)key{
  15. NSArray *keys = [paramDic allKeys];
  16. NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
  17. return [obj1 compare:obj2 options:NSNumericSearch];
  18. }];
  19. NSMutableString *signStr=[[NSMutableString alloc]init];
  20. int i=0;
  21. for (NSString *categoryId in sortedArray) {
  22. if(i>0){
  23. [signStr appendString:[NSString stringWithFormat:@"&%@=%@",categoryId,[paramDic objectForKey:categoryId]]];
  24. }else{
  25. [signStr appendString:[NSString stringWithFormat:@"%@=%@",categoryId,[paramDic objectForKey:categoryId]]];
  26. }
  27. i++;
  28. }
  29. [signStr appendString:key];
  30. return signStr ;
  31. }
  32. +(NSString *)getMD5:(NSString *)signStr{
  33. NSLog(@"%@",signStr);
  34. return [AllPayRequest md5:signStr];
  35. }
  36. @end