runliuv

runliuv@cnblogs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

 

//C#的SortedDictionary<string,string>集合对key不是按照ascii码排序的因为他没有区分大小写,这就是个差别。

如果参数名中间有大写,小写,数字,SortedDictionary 排序出来,算的签名可能会与JAVA 验签不兼容, 验签失败。

 

 下面的代码重点在:

Array.Sort(arrKeys, string.CompareOrdinal);
//将集合key以ascii码从小到大排序
        public static Dictionary<string, string> AsciiDictionary(Dictionary<string, string> sArray)
        {
            Dictionary<string, string> asciiDic = new Dictionary<string, string>();
            string[] arrKeys = sArray.Keys.ToArray();
            Array.Sort(arrKeys, string.CompareOrdinal);
            foreach (var key in arrKeys)
            {
                string value = sArray[key];
                asciiDic.Add(key, value);
            }
            return asciiDic;
        }

---------------------
作者:棉晗榜
来源:CSDN
原文:https://blog.csdn.net/u011511086/article/details/78437093
版权声明:本文为博主原创文章,转载请附上博文链接!

 

posted on 2019-04-26 16:43  runliuv  阅读(1625)  评论(0编辑  收藏  举报