Danke für die Antworten.
Ich hab bereits etwas mit MySQL und SSL herumgespielt. Jedoch hab ich dann mit Wireshark die Pakete untersucht und gesehen das sowohl SQL Abfragen, wie auch die zurückkommenden Daten im Klartext übermittelt worden. Das Passwort hab ich nicht in den Paketen gefunden, aber ich kenn mich da zu wenig aus um sicher zu sein das es nicht im Klartext gesendet wurde.
Im Endeffekt wäre es mir natürlich lieber wenn ich das einfach so nutzen kann, sowas selbst zu implementieren ist sicher mehr Arbeit als es wert ist.
Aber es darf halt nicht im Klartext kommunizieren, das wäre dann nutzlos. Kann aber natürlich gut sein das ich was falsch gemacht hab. Wäre schön wenn man den Server so einstellen könnte das er von nicht localhost nur SSL Verbindungen zulässt.
Hier etwas Pseudocode wie ich mir vorstelle das es funktionieren soll:
String msg = "Unverschlüsselte Nachricht";
String enc_msg = encrypt(msg, password); //msg wurde mit Hilfe von password irgendwie verschlüsselt, momentan läuft es wie gesagt über XOR. Diese Verschlüsselung soll nur die Daten selbst schützen, nicht der Übertragung helfen.
sendToServer(enc_msg); //schickt die verschlüsselte Nachricht zum MySQL Server, die Übertragung selbst sol jedoch nochmal mit SSL verschlüsselt werden
Bei den Nachrichten wird es sich Hauptsächlich um Text handeln, vielleicht aber auch Binärdaten. Sollte aber denk ich unwichtig sein. Jeder Client den ich schreibe wird die verschlüsselten Daten runterladen und mit dem Passwort entschlüsselt können. Der Server selbst soll damit nichts tun, außer sie zur Verfügung stellen.