Verschlüsselung von Texten in Datenbanken 
(Clipper/Visual Foxpro):
(Stand: 18.12.02)

Ich präsentiere hier einen einfachen und schnell auszuführenden Algorithmus,
der Profis höchstwahrscheinlich keinen größeren Widerstand entgegensetzen dürfte.
Alles unterhalb eines begabten Amateurs dürfte jedoch Probleme haben.

VERSCHL und ENTSCHL geben immer einen String zurück, der die selbe Länge hat wie der Ursprungsstring!
Der verschlüsselte String kann durchaus auch Zeichen beinhalten, die nicht druckbar sind bzw. in Visual Foxpro (z. B. beim Browsen) des Zeichensatzes wegen nicht anzeigbar sind. Man sieht nur Vierecke.

Anwendung:

Eine Datenbank habe ein Feld TEXT, Länge 30, Character.

Speichern in Datenbank:

replace text with verschl(padr(m->irgendwas,len(text))

Zurückholen:

m->irgendwas = entschl(text)

Code:

************************************************** VERSCHL
func verschl
param pcText
priv cText, nZaehler, cBuchst
cText = ""
do cx_fuellen
for nZaehler = 1 to len(pcText)
   cBuchst = subs(pcText,nZaehler,1)
   cBuchst = asc(cBuchst)+(len(pcText)-nZaehler)+asc(subs(cX,nZaehler,1))
   cBuchst = chr(cBuchst % 256)
   cText = cText + cBuchst
next
retu cText

************************************************** ENTSCHL
func entschl
param pcText
priv cText, nZaehler, cBuchst
cText = ""
do cx_fuellen
for nZaehler = 1 to len(pcText)
   cBuchst = subs(pcText,nZaehler,1)
   cBuchst = asc(cBuchst)-(len(pcText)-nZaehler)-asc(subs(cX,nZaehler,1))
   if cBuchst < 0
      cBuchst = cBuchst + 256
   endi
   cText = cText + chr(cBuchst)
next
retu cText

************************************************** CX_FUELLEN
proc cx_fuellen
* Schlüsselbegriff cX verwirrend füllen, damit man ihn nicht mit einem Debugger o. ä. im Klartext herauslesen kann.
if type("cX") # "C"
   publ cX
   cX = "OE"
   cX = "INH"+cX+"DVES"
   cX = "TRAM"+cX+"OEH"+"ELI"
   cX = "ENTE"+CX+"KUTASZ"
   cX = cX + "IPUS"
   cX = "HYL"+cX+"ZTA"
   cX = "HE"+"XA"+"MET"+cX
   cX = cX+"9"+cX+"A"+cX+"Y"+cX+"9"+cX
endi
retu

Programmierungs-Seite

Startseite

(www.zelczak.com/feiertag.htm)