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