Ich habe einmal ein Beispiel programmiert.
Vielleicht könnt ihr dazu noch Kommentare abgeben, ob das praktikabel ist.
Code:
Ziel der Übung war, einen Algorithmus zu erstellen, mit welchem ein Schlüssel unabhängig von eingesetzter Hardeware erstellt werden kann.
Im Schritt 1 wird eine Anzahl x an UUID erzeugt und diese in einer Textdatei gespeichert.
Im Schritt 2 wird die Textdatei verschlüsselt. Hier wäre es noch möglich, ein festes Passwort zu benutzen, ist aber nicht nötig.
Im Schritt 3 werden zufällig eine Anzahl von Zahlen erstellt. Diese werden im folgenden Schritt als Offsets für die Positionen in der gezippten Datei herangezogen.
Im Schritt 4 wird die gezippte Datei als String gelesen und über die Offsets ein Zahlenwert des jeweiligen Zeichens erstellt.
Diese Zahlenwerte werden zu einer großen Kette vereint, welches am Ende den Code abbildet.
Für die Nutzung des Codes sind zwei Dinge wichtig.
1. Die gezippte Datei muss permanant verfügbar sein.
2. Die Offsets müssen als Liste/Array vorliegen.
Dieser Algorithmus ist nur eine schematische Darstellung und kann beliebig geändert werden.
Nochmal zur Erklärung:
Ich suche eine Möglichkeit, ein Passwort zu erstellen, welches ich als Programmierer nicht kenne.
Dieses Passwort soll eine Datenbank (in meinem Fall ABSDatabase) verschlüsseln.
Gleichzeitig möchte ich aber im Bedarfsfall eine Möglichkeit haben, Menschen, die eine Datenbank mit meinem Programm benutzen, im Ernstfall Hilfe zu leisten. Hier kommt das generierte Passwort ins Spiel. Durch festgelegte Offsets im Programmcode kann ich aus der erstellten Datei diesen errechnen, um die Datenbank zu öffnen. Aber von Haus aus, ist es eben niemandem so einfach, an die Daten der Datenbank zu gelangen.
Ist das so verständlicher?
LG Mathias