Use AES.
As long as you can hard code the private key into your server code its fine.
You can send the initial iv as part of the query string ( or post data ).
Using base64 you can encode the encrypted AES data, which is suitable for sending the data directly in the query string.
EDIT:
Use a hash of the data which your PHP server saves, then reject on repeated attacks. As the IV changes the data should never repeat, and therefore can be ignored. Also use a message ID which is part of the hash. This provides a mild digital signature as the data, CRC, and hash will only be correct on valid data, so if the ID is processed it can be dumped.
I have used this approach with great success. I haven't got my TLS library handy, but here are the parts I used to build it.
My URI / Percent Encoder, useful for web server/clients.
My base64 encoder
My lib for streaming CRC values
MarkT's AES library which I pulled apart for my own lib.
EDIT: didn't notice you linked the same AES library ![]()