private String calculateSignature(Map<String, String> entries) throws Exception {
StringBuilder sigData = new StringBuilder();
ArrayList<Map.Entry<String, String>> sortedParams =
new ArrayList<Map.Entry<String, String>>(entries.entrySet());
Collections.sort(sortedParams, new Comparator<Map.Entry<String, String>>() {
public int compare(Entry<String, String> e1,
Entry<String, String> e2) {
return e1.getKey().compareTo(e2.getKey());
}
});
for (Map.Entry<String, String> entry : sortedParams) {
String key = entry.getKey();
String value = entry.getValue();
sigData.append(key);
sigData.append(value);
}
return getSignature(sigData.toString(), secret);
}