先贴代码:// 拼接有序的参数名-值串
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(appKey);
        for (String key : keyArray)
        {
            stringBuilder.append(key).append(paramMap.get(key));
        }        stringBuilder.append(secret);
        String codes = stringBuilder.toString();
        
        //codes =  StringHelper.getUtf8Str(codes);
       
        LD.d("codes--old -->"+codes);
        LD.d("sign--old-->"+sha1(codes).toUpperCase());
        
        codes = "4683189130category美食city上海formatjsonhas_coupon1has_deal1keyword泰国菜latitude31.21524limit20longitude121.420033offset_type2radius2000region长宁区sort76644682a44af40d4bb80733069a38272";
        
        LD.d("codes--new -->"+codes);        
        String sign = sha1(codes).toUpperCase();
        LD.d("sign--new-->"+sign);在codes 没有重新赋值之前与赋值后输出值是一样的,但为什么加密后会不一样,试过几种编码转换都不行,下面是输出结果: