Posting data to a server securely via http

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 :slight_smile: