generateSignature2 static method
生成sign校验值
paramValues
参数值
ignoreParamNames
要忽略掉的参数名
appSecret
appSecret
@return
Implementation
static String generateSignature2(Map<String, dynamic> paramValues, List<String> ignoreParamNames, String appSecret) {
try {
StringBuffer sb = StringBuffer();
List<String> paramNames = [];
paramNames.addAll(paramValues.keys);
if (ignoreParamNames.isNotEmpty) {
for (var element in ignoreParamNames) {
paramNames.remove(element);
}
}
// 对参数名进行升排
paramNames.sort((o1, o2) => o1.compareTo(o2));
sb.write(appSecret);
for (String paramName in paramNames) {
dynamic value = paramValues[paramName].toString();
if (value == null || value.isEmpty) {
// 过滤空参数
continue;
}
sb.write(paramName);
sb.write(value.toString());
}
sb.write(appSecret);
var content = const Utf8Encoder().convert(sb.toString());
var digest = md5.convert(content);
return digest.toString().toUpperCase();
} catch (e) {
return '';
}
}