Skip to content

Commit

Permalink
Merge pull request #132 from dotnetcore/revert-131-fixs-rename-comparer
Browse files Browse the repository at this point in the history
when generate the md5 hashcode use the StringComparer.Ordinal to order the string items.
  • Loading branch information
kklldog committed May 28, 2023
2 parents 12f17c5 + bba889b commit 2666bc8
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
10 changes: 4 additions & 6 deletions AgileConfig.Server.Service/ConfigService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -299,8 +299,8 @@ public async Task<string> AppPublishedConfigsMd5(string appId, string env)
&& c.Env == env
).ToListAsync();

var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k));
var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v));
var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.Ordinal));
var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.Ordinal));
var txt = $"{keyStr}&{valStr}";

return Encrypt.Md5(txt);
Expand Down Expand Up @@ -428,8 +428,8 @@ public async Task<string> AppPublishedConfigsMd5WithInheritanced(string appId, s
{
var configs = await GetPublishedConfigsByAppIdWithInheritanced(appId, env);

var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.InvariantCultureIgnoreCase));
var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.InvariantCultureIgnoreCase));
var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.Ordinal));
var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.Ordinal));
var txt = $"{keyStr}&{valStr}";

return Encrypt.Md5(txt);
Expand Down Expand Up @@ -931,8 +931,6 @@ private async Task<bool> SaveFromDictAsync(IDictionary<string, string> dict, str
}
}



if (addConfigs.Any())
{
await dbcontext.Configs.AddRangeAsync(addConfigs);
Expand Down
4 changes: 2 additions & 2 deletions AgileConfig.Server.Service/ServiceInfoService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ public async Task<string> ServicesMD5()
private string GenerateMD5(List<ServiceInfo> services)
{
var sb = new StringBuilder();
foreach (var serviceInfo in services.OrderBy(x => x.ServiceId))
foreach (var serviceInfo in services.OrderBy(x => x.ServiceId, StringComparer.Ordinal))
{
var metaDataStr = "";
if (!string.IsNullOrEmpty(serviceInfo.MetaData))
{
var metaData = JsonConvert.DeserializeObject<List<string>>(serviceInfo.MetaData);
if (metaData != null)
{
metaDataStr = string.Join(",", metaData.OrderBy(x => x));
metaDataStr = string.Join(",", metaData.OrderBy(x => x, StringComparer.Ordinal));
}
}

Expand Down

0 comments on commit 2666bc8

Please sign in to comment.