Эээ, а как ты посчитаешь подпись, если не знаешь порядка элементов.
Тебе эту информацию все равно надо передать с клиента на сервер. И тут три варианта
1) Эта информация берется из документации, типа "при подписи перечисляем поля в алфавитном порядке"
2) Информация передается явно, как поле с набором ключей
3) Просто берем поля в том порядке, что пришли.
Вариант 3) часто проще всех, да и вполне надежен.