Home

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:
Oft steht man bei kleineren DB-Lösungen vor dem Problem, das ein Schutz der Tabellen nicht
so richtig möglich ist.
Man möchte das Sicherheitssystem von Access, aufgrund der etwas schwierigen Handhabung
nicht nutzen, aber ein eigene User Lösung schützt den Inhalt der Tabellen nicht.
Auch ein DB-Kennwort im Backend z.B. bringt keinen ausreichenden Schutz.
Leicht kann ein versierter User die Connectstrings im Frontend
auslesen und dort steht das DB-Kennwort im Klartext drin.
Also muss eine Lösung her die es einigermaßen unmöglich macht das jemand mit den Daten
etwas anfangen kann.
Eine Möglichkeit möchte ich hier vorstellen.
Hier im Bsp werden in einer Adresstabelle die Felder "Nachname", "Vorname" und "Ort" verschlüsselt in der Tabelle "tbl_Adressen" gespeichert

Voraussetzungen:
Das Bsp ist ab A00 lauffähig.

Funktionsweise:
Damit das Bsp funktioniert müssen die Dateien tk_Crypto_BE97.mdb und tk_Crypto_BE00.mdb
in das
Verzeichnis „C:\Test“ entpackt werden.

Die Darstellung der Daten im Formular der Bsp-DB ist nur zu Demonstrationszwecken. Im Praxiseinsatz ist nur der linke Teil des Forms erforderlich (rote Felder)




Wie funktioniert das nun?

Im Modul mod_Crypto ist das globale Passwort und die beiden Funktionen zum
Ver- und Entschlüsseln enthalten
.
Ein Sinn in der Benutzung ergibt sich dann nur wenn das Frontend eine MDE-Datei ist.
Die Datenfelder im Form sind ungebunden und werden erst im Ereignis "Beim Anzeigen" gefüllt.
Es gibt jetzt 2 Möglichkeiten, entweder man füllt die Felder mittels eines Recordsets aus der Tabelle
und decodiert die entsprechenden Felder oder man erstellt Felder wie o. im Bild Links (gelbe Felder)
und blendet diese aus.
Ich werde mich hier auf die 2. Variante beschränken, nur das aus Demonstrationszwecken die linken Felder sichtbar sind.

Verschlüsselung:
Die Verschlüsselung erfolgt im Ereignis "Nach Änderung" der Felder "Nachname", "Vorname" und "Ort"
Die rechten Felder haben die Bezeichnungen "Text14", "Text16" und "Text18" und sind ungebunden.
Die linken Felder haben die Bezeichnungen"Nachname", "Vorname" und "Ort" und sind an die Tabelle tbl_Adressen gebunden.

Hier erfolgt der Aufruf der Funktion "EncodeString". Übergeben wird der String, z.B. "Text14"

Private Sub Text14_AfterUpdate()
    Me.Nachname = EncodeString(Me.Text14, cPWD)
End Sub
Private Sub Text16_AfterUpdate()
    Me.Vorname = EncodeString(Me.Text16, cPWD)
End Sub
Private Sub Text18_AfterUpdate()
    Me.Ort = EncodeString(Me.Text18, cPWD)
End Sub


und das globale Passwort "cPWD"
Das Feld "Nachname", das an die Tabelle gebunden ist wird neu codiert und aktualsiert.
Der Inhalt der Tabelle würde so aussehen:

Entschlüsselung:
Die Entschlüsselung erfolgt im Ereignis "Beim Anzeigen des Formulars:

Private Sub Form_Current()
    Me.Text14 = DecodeString(Me.Nachname, cPWD)
    Me.Text16 = DecodeString(Me.Vorname, cPWD)
    Me.Text18 = DecodeString(Me.Ort, cPWD)
End Sub

Hier erfolgt der Aufruf der Funktion "DencodeString". Übergeben wird der codierte String, z.B. "Nachname"
und das globale Passwort "cPWD".
Der decodierte Inhalt des Feldes "Nachname" wird in das ungebundene Feld "Text14" geschrieben.

Zusammenfassung:
Diese Lösung stellt keine ultimative Lösung und schon gar nicht den absoluten Schutz der Daten
dar aber ist eine einfache Alternative.
Einschränkungen wären auf jedenfall bei sehr großen Datenmengen und/oder langsamen Netzwerkverbindungen.
Das Bsp lässt sich natürlich auf weitere Felder beliebig erweitern.

Dateien:

Ver- und Entschlüsseln einzelne Datenfelder

ab A00

Die Zip-Datei enthält eine Version ab A00

Datum 05.02.2018
Dateigröße 82.51 KB
Download 2.684

 

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool...
1.png5.png8.png5.png5.png8.png0.png
Heute325
Gestern496
Diese Woche1738
Dieser Monat5454
Total1585580

  • IP: 3.135.190.101
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

7
Online

19. April 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...