Как маркер сообщения сгенерирован в GWT?

У меня есть запросы как

5|0|7|http://localhost:8080/testproject/|29F4EA1240F157649C12466F01F46F60|com.test.client.GreetingService|greetServer|java.lang.String|myInput1|myInput2|1|2|3|4|2|5|5|6|7|

Я хотел бы знать, как GWT генерирует md5 значение 29F4EA1240F157649C12466F01F46F60? Основан на этом клиентский IP и дата? Кто-либо может указать на меня на правильный код? Я просто нахожу материал относительно маркера истории, но это кажется другим мне.

5
задан Karl Richter 6 November 2018 в 12:13
поделиться

2 ответа

Хорошо, после некоторого исследования, думаю, я нашел ответ.
Ключевые слова, которые вы должны были искать: « строгое имя » (или « strongName ») и / или перестановка , поскольку кажется, что с запросом RPC они отправляют строгое имя перестановки (этот хэш MD5), так что вы можете различить на стороне сервера, из какой перестановки был отправлен запрос.
Основная функция - Util.computeStrongName , она вычисляет хэш MD5 (d'oh) предоставленного байтового массива с добавленной уловкой:

/*
 * Include the lengths of the contents components in the hash, so that the
 * hashed sequence of bytes is in a one-to-one correspondence with the
 * possible arguments to this method.
 */

Отсюда я отслеживается до линкеров , а затем до PermutationResult , который передает Util.computeStrongName через эту функцию:

/**
 * The compiled JavaScript code as UTF8 bytes.
 */
byte[][] getJs();

Эх, я надеюсь, что это было хоть немного полезно;) Если это все еще не дает ответа на ваш вопрос (или вы искали что-то другое), попробуйте в trunk / user / src / com / google / gwt / user / client / rpc (начните с RpcRequestBuilder.java ).

3
ответ дан 15 December 2019 в 06:26
поделиться

Как сказал Игорь, GWT использует хеши MD5 кода вашего приложения для создания уникальных имен для каждой перестановки каждой версии вашего приложения. Конкретный хэш, на который вы ссылаетесь, является частью полезной нагрузки запроса GWT RPC, которая идентифицирует файл политики сериализации .gwt.rpc на сервере. В этом файле политики указано, какие объекты Java могут быть сериализованы как часть запроса, ответа или создаваемых исключений в службе GWT RPC.

0
ответ дан 15 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: