111,095
社区成员




public class SignUtil {
public static String sign(){
Map<String, Object> params = new HashMap<>();
params.put("key", key);
params.put("secret", secret);
params.put("userMobile", userMobile);
params.put("refereeMobile", refereeMobile);
StringBuilder builder = new StringBuilder();
Set<String> keysSet = params.keySet();
Object[] keys = keysSet.toArray();
Arrays.sort(keys);
boolean first = true;
for (Object key : keys) {
if (first) {
first = false;
} else {
builder.append("&");
}
builder.append(key).append("=");
Object value = params.get(key);
String str = "";
if (value != null) {
str = String.valueOf(value);
}
builder.append(str);
}
return DigestUtil.md5Hex(builder.toString()).toUpperCase();
}
}
Dictionary<string, string> paras = new Dictionary<string, string> { { "key", key }, { "secret", secret }, { "userMobile", userMobile }, { "refereeMobile", refereeMobile } };
var result = string.Join("&", paras.Select(kv => $"{kv.Key}={kv.Value}").OrderBy(v => v));
result = BitConverter.ToString(((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(Encoding.UTF8.GetBytes(result))).Replace("-", "").ToUpper();