You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
45 lines
1.0 KiB
3 years ago
|
package com.fr.plugin.bsSSO.utils;
|
||
|
|
||
|
import com.actionsoft.bpms.api.common.ApiUtils;
|
||
|
|
||
|
import java.util.Collection;
|
||
|
import java.util.Collections;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
public class OpenapiUtil {
|
||
|
|
||
|
/**
|
||
|
* 生成签名
|
||
|
* @param queryStr
|
||
|
* @param secret
|
||
|
* @return
|
||
|
*/
|
||
|
public static String generateSign(String queryStr,String secret){
|
||
|
Map<String, String> param = getParam(queryStr);
|
||
|
|
||
|
return ApiUtils.makeSig(param, secret, (Collection)Collections.EMPTY_LIST);
|
||
|
}
|
||
|
|
||
|
private static Map<String, String> getParam(String url){
|
||
|
Map<String, String> param = new HashMap<String, String>();
|
||
|
|
||
|
String[] oneSplit = url.split("&");
|
||
|
|
||
|
for(int i = 0;i<oneSplit.length;i++){
|
||
|
String[] kv = oneSplit[i].split("=");
|
||
|
String k = kv[0];
|
||
|
|
||
|
if(k.equals("sig")){
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
String val = kv.length == 1 ? "" :kv[1];
|
||
|
|
||
|
param.put(kv[0],val);
|
||
|
}
|
||
|
|
||
|
return param;
|
||
|
}
|
||
|
}
|