# Daten-Neuverschlüsselung Dieses Script verschlüsselt alle verschlüsselten Daten mit einem neuen Schlüssel neu. ## Verwendung ### Voraussetzungen 1. Stelle sicher, dass `ENCRYPTION_KEY` in der `.env` Datei gesetzt ist: ```bash ENCRYPTION_KEY=dein-neuer-sicherer-schlüssel-hier ``` 2. Optional: Wenn du einen spezifischen alten Schlüssel verwendest (nicht den Standard), kannst du ihn angeben: ```bash node scripts/re-encrypt-data.js --old-key="dein-alter-schlüssel" ``` ### Ausführung ```bash node scripts/re-encrypt-data.js ``` ## Was wird neu verschlüsselt? Das Script verarbeitet folgende Dateien: 1. **`server/data/users.json`** - Benutzerdaten 2. **`server/data/members.json`** - Mitgliederdaten 3. **`server/data/membership-applications/*.json`** - Mitgliedschaftsanträge (wenn sie ein `encryptedData` Feld enthalten) 4. **`server/data/membership-applications/*.data`** - Verschlüsselte Antragsdaten ## Sicherheit - **Automatische Backups**: Vor jeder Änderung werden Backups im Verzeichnis `backups/re-encrypt-/` erstellt - **Mehrere Schlüssel**: Das Script versucht automatisch verschiedene alte Standard-Schlüssel: - `default-key-change-in-production` - `local_development_encryption_key_change_in_production` - Ein optional angegebener `--old-key` Parameter ## Beispiel ```bash # Standard-Ausführung (verwendet Standard-Entwicklungsschlüssel) node scripts/re-encrypt-data.js # Mit spezifischem altem Schlüssel node scripts/re-encrypt-data.js --old-key="mein-alter-produktions-schlüssel" ``` ## Fehlerbehandlung Falls die Entschlüsselung mit allen verfügbaren Schlüsseln fehlschlägt: - Das Script bricht ab - Alle Backups bleiben erhalten - Du kannst die Dateien manuell aus den Backups wiederherstellen ## Wichtig ⚠️ **WICHTIG**: Stelle sicher, dass: - Die `.env` Datei den neuen `ENCRYPTION_KEY` enthält - Du ein Backup der Daten hast (wird automatisch erstellt) - Der Server während der Ausführung nicht läuft - Du nach der Ausführung testest, ob alles funktioniert