Encoding Arrays with File Paths
Alex Tweedly
alex at tweedly.net
Tue Feb 25 20:07:06 EST 2025
On 25/02/2025 19:49, Bob Sneidar via use-livecode wrote:
> <snip>
>
> Because I developed my own encryption API which uses AES256 but has a couple tricks. SSL certs will not suffice, and the whole point to having my own encryption technique is so that I can avoid SSL certs and the process of registering them and installing them.
OK
> Because I am encrypting the file data before sending, I have to base64encode the data before sending over the wire,
Um, no.
> unless someone has a better suggestion for how to format the data in an internet friendly way.
There's no need. You're sending over a TCP socket, not HTTP - so there's
no need for an "internet friendly" encoding - you can send arbitrary
binary data (since you have effectively length+data - even if the length
is sent separately). No need for base64encode or anything like that.
> Also I dont really have any experience in setting up web servers, and since I am developing this for the company I work for, they will likely not want this running on a different server than they already use which is MS SQL, and probably wont want it running on their mission critical servers either.
>
> After going back and forth with Mark, I see that I am going to have to break the data up anyway, so I am going to send an array first which has all the information I need to control the server side (things like versioning, extended paths, workflow stuff etc.) and then send each file separately using whatever method works best. I am not averse to sending the file size first.
> On Feb 25, 2025, at 10:03 AM, Richard Gaskin via use-livecode<use-livecode at lists.runrev.com> wrote:
>
> This excercise raises a question: rather than invent another protocol, why not use HTTP?
Usually, because HTTP is quite decidedly a client-server protocol. If
you have a peer-peer protocol need, then you have to bend HTTP out of
shape :-)
Or, because the server already has an HTTP server running on it under
some IT dept's control, and you're not allowed to hook into it.
Or, because in the event of a breakdown in the firewall, a
mal-intentioned outsider could more easily circumvent your protections.
A "private" protocol is an extra level of defence (assuming you do it
right).
Or, just because it's more interesting :-)
> Saves dev time, eliminates the need to write and maintain documentation for a custom protocol, leverages existing robust tooling, allows for integration with other packages as customer needs evolve, and stakeholders often get to buy-in faster where open standards are employed.
Alex.
More information about the use-livecode
mailing list