Mit MySQL kann ich eine Datenbank mit einem Passwort leicht schützen. Jetzt interessiert mich, ob das auch bei SQLite geht?
LG - Simon
Datenbank mit einem Passwort sichern
Datenbank mit einem Passwort sichern
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
Danke Torsten, dass hört sich sehr gut und logisch an. - Finde ich eine klasse Lösung.Thorsten1867 hat geschrieben:Ich verwende PureZip, um meine Datenbanken zu schützen:
- vor dem Öffnen wird sie entpackt (mit Passwort)
- beim Schließen gepackt (mit Passwort)
LG - Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Hallo Torsten,
tolle Idee, PureZIP zu verwenden. Ich allerdings habe echte Probleme die Syntax zu durchblicken. Mir würde ein Codeschnipsel sicherlich helfen, wie ich einen Text packe, mit einem Passwort versehe und diesen dann wieder entpacke. Genau so interressiert mich analog die Verwendung mit einer SQLite-Datenbank. Ich verwende die PB 4.0-Version von PureZIP.
Danke für eventuelle Hilfe sagt
PureThom
tolle Idee, PureZIP zu verwenden. Ich allerdings habe echte Probleme die Syntax zu durchblicken. Mir würde ein Codeschnipsel sicherlich helfen, wie ich einen Text packe, mit einem Passwort versehe und diesen dann wieder entpacke. Genau so interressiert mich analog die Verwendung mit einer SQLite-Datenbank. Ich verwende die PB 4.0-Version von PureZIP.
Danke für eventuelle Hilfe sagt
PureThom
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
Probiere es mal damit:
Code: Alles auswählen
Procedure.b OpenDB(File$, passwort$) ; verschlüsselte Datei entpacken
FileNoExt$ = StringField(File$,1,".") ; Dateiname ohne Extension
DBDir$ = GetPathPart(File$) ; Verzeichnis der Datenbank
PackFile$ = FileNoExt$ + ".zip" ; Name des Archives
PureZIP_SetArchivePassword(passwort$)
If FileSize(File$) > 0 ;{ Datei schon entpackt
ProcedureReturn #True ; Entpacken nicht nötig
ElseIf FileSize(File$) = 0 ; Nulldatei z.B. wg. falschem Passwort
DeleteFile(File$) ; ungültige Datei entfernen
EndIf ;}
FileNumberInArchive.l = PureZIP_FindFile(PackFile$, GetFilePart(File$), #False)
If FileNumberInArchive <> -1 ; Datei im Archiv gefunden
If PureZIP_ExtractFile(PackFile$, FileNumberInArchive, DBDir$, #False) = #False ; Ins Verzeichnis DBDir$ entpacken
DeleteFile(DBDir$+GetFilePart(File$)) ; Datei (0 Byte) löschen, wenn Passwort falsch war
MessageRequester(" Datenbank","Datei konnte nicht geöffnet werden. Passwort falsch?"+Chr(10)+"("+GetFilePart(File$)+")", #MB_OK|#MB_ICONWARNING)
ProcedureReturn #False
EndIf
Else
MessageRequester(" Datenbank","Datei '"+GetFilePart(File$)+"' wurde nicht gefunden."+Chr(10)+"("+GetFilePart(PackFile$)+")", #MB_OK|#MB_ICONWARNING)
ProcedureReturn #False
EndIf
ProcedureReturn #True
EndProcedure
Procedure.b CloseDB(File$, passwort$) ; Datei packen
FileNoExt$ = StringField(File$,1,".") ; Dateiname ohne Extension
PackFile$ = FileNoExt$ + ".zip"
If FileSize(File$) > 0 ; zu packende Datei existiert und keine 0 Byte-Datei
If FileSize(PackFile$) <> -1
DeleteFile(FileNoExt$+".zip") ; altes Archiv entfernen, wenn vorhanden
EndIf
PureZIP_SetArchivePassword(passwort$)
If PureZIP_AddFile(PackFile$, File$, #PureZIP_DontStorePath)
If PureZIP_FindFile(FileNoExt$+".zip", GetFilePart(File$), #False) <> -1 ; Test ob Datei im Archiv
DeleteFile(File$) ; Löschen der Datei
Else
ProcedureReturn #False
EndIf
Else
ProcedureReturn #False
EndIf
Else
ProcedureReturn #False
EndIf
ProcedureReturn #True
EndProcedure