JAVA MYSQL API

  • Hallo liebe Community,


    wie einige ja wissen, erstelle ich JAVA Programme welche ich auch teils zum Download anbiete.


    Vor kurzem habe ich bei meinem Post Vorstellung einiger JAVA Programme einen Kommentar von Finch erhalten.

    Bin zwar von Java so kein Fan, aber man kann das ganze mit einer sehr einfachen API abbilden die der Server Betreiber bei sich laufen lässt (sehr klein und schlank).
    Die übernimmt dann die DB Verbindung und stellt einfachen Login bereit mit dem die Leute sich dann verbinden.
    Wenn du jedem der das Tool nutzen soll direkt die DB Logins gibst, ist das eher weniger sicher und jeder der den Login hat kann unkontrolliert mit deinen Daten spielen.

    Meine frage ist jetzt, ob sich jemand auskennt oder Tutorials kennt, wie man solch eine API erstellt. Ich selber habe keine Ahnung davon, wäre aber daran interessiert sowas zu erlernen und in Zukünftigen Programmen einzubauen.


    Vielen Dank im voraus.

  • http://www.codemercenary.de/2009/11/java-mysql-tutorial.html


    falls du die benutze abfragen möchtest erstellst du eine neue Tabelle mit den usern und den passwörtern. So als Tipp nutze einen Verschlüsselungsalgorythmus und speicher die Passwörter nicht im Klartext.


    Wenn du das programm aufrufst machst du ein Loginfeld mit user und pw das prüfst du dann gegen die hinterlegten werte aus der tabelle.

  • So als Tipp nutze einen Verschlüsselungsalgorythmus und speicher die Passwörter nicht im Klartext.

    -> MD5-Hash eignet sich da gut und ist soweit ich weiß DSGVO konform

  • http://www.codemercenary.de/2009/11/java-mysql-tutorial.html


    falls du die benutze abfragen möchtest erstellst du eine neue Tabelle mit den usern und den passwörtern. So als Tipp nutze einen Verschlüsselungsalgorythmus und speicher die Passwörter nicht im Klartext.


    Wenn du das programm aufrufst machst du ein Loginfeld mit user und pw das prüfst du dann gegen die hinterlegten werte aus der tabelle.

    Danke für die Info. Jedoch funktionieren meine Programme auf der Basis.

    Was ich momentan suche ist etwas Serversetiges, womit man Benutzer anlegt, wenn beim einloggen dieser dann vorhanden ist soll dies dich mit der DB verbinden. Mein Ziel ist es nur noch eine IP einzugeben ohne MYSQL Benutzer.

  • -> MD5-Hash eignet sich da gut und ist soweit ich weiß DSGVO konform

    Du verarscht dich damit doch gerade selbst, oder? Ein MD5-Hash mag vielleicht DSGVO konform sein, allerdings ist es ein leichtes einen Brute-Force-Angriff auf einen MD5-Hash zu machen, weil:


    Nutze einfach einen SHA-256-Hash, oder wie moeck bereits schrieb, einen SHA-512-Hash oder SHA-2048-Hash zum Speichern der Passwörter. Für deine Zwecke würde das, was die Sicherheit angeht, denke ich ausreichen. Ansonsten nutze PBKDF2- oder bcrypt-Hashing.



    Wenn du Hilfe beim schreiben einer API benötigst, helfen wir dir bei PlayNet, wie Finch bereits schrieb, gerne dabei. Komm dazu einfach den PlayNet Discord Server https://discord.gg/QMs8qh .


    Jack Cooper Als einfaches Beispiel könntest du für eine API, wobei API hier eine Schnittstelle für einen öffentlichen Zugriff meint, über das HTTP-Protokoll oder sogar das gRPC-Protokoll erstellen.

    Das einzige, was für dich wahrscheinlich ungewohnt sein könnte, ist eine Authentifizierung zu schreiben, denn das schien ja bei den ersten Versionen deiner Programme ja noch nicht wirklich zu existieren - bis auf Klartext-Benutzername und Passwort von MySQL, usw.

  • Du verarscht dich damit doch gerade selbst, oder?

    Ich verrsche hier gar nix.

    Ob du es glaubst oder nicht, ich bin auch nicht allwissend und kann auch mal was von mir geben, das falsch ist. Achte also du lieber, oh allwissender Vincent, darauf wie du auftrittst

  • blackfisch Ich wollte damit nur deutlich machen, dass es in keiner Weise eine gute Idee sei, heutzutage zur Absicherung noch MD5-Hashes zu nutzen. Es ist halt einfach unfassbar wichtig, dass diese riesige Unsicherheit bekannt ist - und darauf habe ich damit wohl deutlich hingewiesen.

    Mag aber sein, dass die Wortwahl falsch getroffen ist und mein Sarkasmus im Textformat nicht ganz rüber kommt.

  • Danke für die Vorschläge.


    Ich habe mich mal über die Verschlüsselungen schlau gemacht, jedoch ist es für meine momentanes Niveau noch etwas zu kompliziert. Könnte mir evtl jemand erklären wie ich eine SHA-512 Verschlüsslung und Entschlüsselung programmiere?


    Desweiteren, könnte mir jemand sagen wo ich ein Tutorial oder so bezüglich einer API finde welche nach richtigem Login, dich mit der DB verbindet, sodass ich das DB Passwort nicht weitergeben muss?


    Vielen Dank im voraus.

  • SHA-512 wurde nie dafür entwickelt um es wieder zu entschlüsseln wenn du etwas brauchst um zu entschlüsseln wird eher AES genutzt

    Wenn du ein Passwort vergleichen willst, musst du das Passwort das du bekommst auch mit SHA-512 hashen um herauszufinden ob das Passwort stimmt aber wie Vincent schon erwähnt hatte würde für Passwörter eher bcrypt (nutze ich meist) oder PBKDF2


    für Java gibts da bestimmt bereits anwendungen oder libraries (habe bisher noch nie Java genutzt)

    Aber wenn du nach "Rest API Java" googlest findest du bestimmt etliche Guides wie über HTTP eine API gebaut werden kann

  • Multivitamin danke für die Antwort.

    Wenn du ein Passwort vergleichen willst, musst du das Passwort das du bekommst auch mit SHA-512 hashen um herauszufinden ob das Passwort stimmt aber wie Vincent schon erwähnt hatte würde für Passwörter eher bcrypt (nutze ich meist) oder PBKDF2

    Dummheit von mir. Vergleichen genügt. Danke für den Hinweis.


    für Java gibts da bestimmt bereits anwendungen oder libraries (habe bisher noch nie Java genutzt)

    Aber wenn du nach "Rest API Java" googlest findest du bestimmt etliche Guides wie über HTTP eine API gebaut werden kann

    Werde ich mir mal anschauen.