короче:
приложение1 генерирует ссылку (на приложение2) и отправляет её человеку
приложение2 проверяет параметры и подпись, если подпись хорошая, идем дальше
просто на приложении1 шифруешь параметры квери публичным ключом, кладешь первые 32 байта в урлу
в приложении2 повторно шифруешь полученные параметры квери и проверяешь что первые 32 байта совпадают.
Я не уверен что хеш алгоритмы тут сработают лучше, хотя они обладают тем же эффектом