Я внедряю веб -сервис Restful, где пользователь должен отправить подписанный токен проверки вместе с запросом, чтобы я мог убедиться, что запрос не был подделан средним человеком. Моя текущая реализация заключается в следующем.class VerifData {
int prop1;
int prop2;
}
< /code>
В моей службе я помещаю данные для сериализации в экземпляр Verifdata, а затем сериализую их с помощью Jackson ObjectMapper и передается в двигатель проверки вместе с токеном проверки. < /p>
VerfiData verifData = new VerifData(12345, 67890);
ObjectMapper mapper = new ObjectMapper();
String verifCodeGenerated = mapper.writeValueAsString(verifData);
< /code>
Но кажется, что каждый раз, когда начинается контейнер приложения, порядок свойств отображается в строку по изменениям объекта.{"prop1":12345,"prop2":67890}
< /code>
И в другой раз это будет < /p>
{"prop2":67890,"prop1":12345}
< /code>
Итак, если клиент сериализовал экземпляр Verifdata, как в первой строке, есть 50% вероятность того, что он не удастся, даже если он правильный. < /p>
Есть ли способ обойти это? Могу ли я указать порядок свойств на карту с помощью ObjectMapper (например, в порядке возрастания)? Или есть другой способ лучше всего реализовать этот шаг проверки. Реализации клиента и сервера разрабатываются мной. Я использую Java Security API для подписания и проверки.
Подробнее здесь: https://stackoverflow.com/questions/275 ... properties