[C++] Passwortsicherheit SQL

Reiskocher

Grünschnabel
Hallo, Leute,
um Daten aus der SQL-Datenbank auslesen zu können, muss ich ja einen Benutzer und das entsprechende Passwort eingeben. Wie, bzw. an welcher Stelle pflege ich diese Daten am besten in das Programm/den Quellcode ein, um die Logindaten weitestgehend zu schützen? (Die Daten werden NICHT durch den User eingegeben, das Programm öffnet eine bestimmte Verbindung!)

Die Frage ist eher allgemein, da es sich bei mir aber um ein C++-Projekt handelt, habe ich die Frage hier gestellt. Ich hoffe, dass das okay und die Frage ausreichend formuliert ist.

Liebe Grüße,

Alex
 
Du willst also deine Daten schützen, damit sie nicht in der EXE-Datei evtl. vorkommen?

Ich würde sagen, dabei reicht eine einfache Verschlüsselung per ASCII-Wert.
 
Danke für deine Antwort.
Ja, es geht erstmal darum, zu wissen, wo man das Passwort am besten "verstaut" und sichert.
Dein Ansatz deutet schonmal auf "wie schütze ich meine Daten" hin. Jetzt nurnoch das: wo? :)

Wie würde die Verschlüsselung per ASCII-Wert ablaufen? Mit der Kryptologie habe ich mich noch nicht beschäftigt.

edit:
Ich habe mal ein bisschen gegoogle'd.
eine ASCII-Verschlüsselung ist also einfach die Veränderung des ASCII-Wertes durch einen mathematischen Rechenschritt? Und den Schritt müsste ich vor dem Verbinden mit der Datenbank wieder zurück rechnen?

any suggestions? ;)
 
Zuletzt bearbeitet:
Reiskocher hat gesagt.:
Ich habe mal ein bisschen gegoogle'd.
eine ASCII-Verschlüsselung ist also einfach die Veränderung des ASCII-Wertes durch einen mathematischen Rechenschritt? Und den Schritt müsste ich vor dem Verbinden mit der Datenbank wieder zurück rechnen?
Genau.
Hast du gleich bleibende Benutzernamen/Passwörter?

Als erstes musst du natürlich dein orginales umwandeln. Danach kannst du dieses als eine (globale) Variable in deinem Programm definieren.

Aber man kann auch eventuell dein Passwort im Heap finden.
 
Genau.
Hast du gleich bleibende Benutzernamen/Passwörter?

Als erstes musst du natürlich dein orginales umwandeln. Danach kannst du dieses als eine (globale) Variable in deinem Programm definieren.

Aber man kann auch eventuell dein Passwort im Heap finden.


Ja, die Daten für das Login werden sich nicht verändern.

Also, ich definiere eine Variable (global, wird das in C++ noch gemacht? Kenne das nur aus C. Ist ja nicht im Sinne der OOP, oder?), die ich mit dem verschlüsselten Passwort initialisiere.
Dann müsste ich auch noch eine Funktion/Methode schreiben, die das Passwort vor dem Anmelden entschlüsselt, oder?

Bezüglich des Heaps - Eine 100%'ige Sicherheit erreicht man sowieso nicht. Außer man lässt das mit der Anwendung bleiben. Und das ziehe ich nicht in Betracht ;)
 
Bezüglich des Heaps - Eine 100%'ige Sicherheit erreicht man sowieso nicht. Außer man lässt das mit der Anwendung bleiben. Und das ziehe ich nicht in Betracht ;)
Ich frage mich nur, wie das Password-Safe-Programme machen :suspect:

Sagen wir, du hast eine Mainklasse:
C++:
class MainClass
{
  private:
    const string EncryptedPassword;
  public:
    MainClass();
    void DecryptPassword();
}

MainClass::MainClass() : EncryptedPassword("Bereits verschlüsseltes Passwort");
{
}
void MainClass::DecryptPassword(string &str) const
{
  for (int i=0; i<EncryptedPassword.length(); i++)
  {
    int ASCII = (int)EncryptedPassword.at(i);
    char DecryptedChar = (char)(ASCII-13);
    
    str.push_back(DecryptedChar);
  }
}

Diesen Quelltext habe ich einfach schnell geschrieben, nicht getestet!
 
Global: Ist auch in C++ möglich; ist zwar wirklich nicht der OOP-Sinn, aber solang du weißt was du machst sollte es kein Problem sein.

Und Entschlüsselungsfunktion brauchst du, ja - oder umgekehrt eine Verschlüsselfunktion für die Eingabe
 
Zurück