Crypt() und Dbseek() [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Crypt() und Dbseek() [ERLEDIGT]
jetzt stehe ich vor der nächsten Wand. Wenn ich mit Crypt(upper()) einen Index aufbaue, dann muß ich doch auch mit Dbseek(crypt(Upper())) suchen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Crypt() und Dbseek()
Hallo, Manfred -
ja, wenn ...
Du solltest auf jeden Fall sicherstellen, dass der Suchbegriff exakt so lang ist wie das verschlüsselte Feld.
ja, wenn ...
Du solltest auf jeden Fall sicherstellen, dass der Suchbegriff exakt so lang ist wie das verschlüsselte Feld.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Crypt() und Dbseek()
Im Prinzip schon, aber die Sortierung stimmt natürlich nicht
Also für dbseek() - suche nach genau diesem Satz ist OK, aber ob auch linksbündig (nur 4 Zeichen statt 20) geht, bin ich mir nicht mehr sicher.
Ich meine mich zu erinnern, dass die Zeichen von links gleich sind, auch wenn die Länge kürzer ist, dann die Ergebnisse entschlüsseln und in Auswahl Array.
Also für dbseek() - suche nach genau diesem Satz ist OK, aber ob auch linksbündig (nur 4 Zeichen statt 20) geht, bin ich mir nicht mehr sicher.
Ich meine mich zu erinnern, dass die Zeichen von links gleich sind, auch wenn die Länge kürzer ist, dann die Ergebnisse entschlüsseln und in Auswahl Array.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Crypt() und Dbseek()
hm, es geht eigentlich in darum, auch nur die ersten Zeichen zu finden. Selbst Softseek will nicht. Anders formuliert, wen ich den ersten Buchstaben eintippe, wird der auch gefunden. Sobald mehrere dazukommen, wird nichts mehr gefunden.
Der Schlüssel sieht so aus z.B.
Engine ist Foxcdx
Set Charset OEM
Nur mal so als Einstiegsinfo.
Aber das mit der exakten Länge probiere ich mal sofort aus.
Der Schlüssel sieht so aus z.B.
Code: Alles auswählen
"Crypt(Upper(name),oSysPara:crypt) + Crypt(Upper(vorname),oSysPara:crypt)"
Set Charset OEM
Nur mal so als Einstiegsinfo.
Aber das mit der exakten Länge probiere ich mal sofort aus.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Crypt() und Dbseek()
Crypt() verschlüsselt nicht jeden Buchstaben einzeln. Wenn man AB cryptet und AC verschlüsselt, beginnen die u.U. unterschiedlich. Und ein einzelnes A wird ggf. nochmal anders verschlüsselt. So geht das nicht. Sonst wäre auch das Entschlüsseln viel zu einfach.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Crypt() und Dbseek()
ja, ist mir auch schon aufgefallen. Bei nur einem Buchstaben wird anscheinend gar nicht verschlüsselt. Aber deshalb ja meine Frage, was muß man da evtl. beachten? Wobei mich dann aber wieder wundert, warum der gefunden wird, wenn der nicht verschlüsselt wird? Aber vielleicht ist das auch Zufall? Ich muß mir das mal im Debugger ansehen, was bei nur einem Buchstaben passiert, bei Dbseek()
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Crypt() und Dbseek()
ich meine zu erinnern das die alte Tools Crypt() das nachfolgenden Zeichen zum verschlüsseln des vorherigen diente. ( XOR ? )
das letzte Zeichen wurde dabei dann nicht mehr verschlüsselt ... meistens ein SPACE
ein Inkrementelle Suchen auf einen gecrypten Index geht wegen der Länge nicht.
bei NTX kann man den Index im Klartext lesen aber CDX ist es doch komprimiert d.h. du kannst den Index auf "DeCrypt" aufbauen.
das letzte Zeichen wurde dabei dann nicht mehr verschlüsselt ... meistens ein SPACE
ein Inkrementelle Suchen auf einen gecrypten Index geht wegen der Länge nicht.
bei NTX kann man den Index im Klartext lesen aber CDX ist es doch komprimiert d.h. du kannst den Index auf "DeCrypt" aufbauen.
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Crypt() und Dbseek()
Der Februar kostet mich echt Nerven.
Jimmy, Dein Stichwort war Gold wert. Klar, indem ich einen Index auf Crypt aufbaue, entschlüssel ich ja in dem Moment wieder den Wert, der in dem feld steht. Und dann darf ich natürlich nicht mit Crypt() suchen, weil dann ja verschlüsselt gesucht wird. Das ist der Mist, wenn ein und dieselbe Funktion beides macht. Das übersieht man schonmal gerne.
Jimmy, Dein Stichwort war Gold wert. Klar, indem ich einen Index auf Crypt aufbaue, entschlüssel ich ja in dem Moment wieder den Wert, der in dem feld steht. Und dann darf ich natürlich nicht mit Crypt() suchen, weil dann ja verschlüsselt gesucht wird. Das ist der Mist, wenn ein und dieselbe Funktion beides macht. Das übersieht man schonmal gerne.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Crypt() und Dbseek()
das ist nicht ganz richtig, von links gesehen sind bei gleichem String (ab 2 Byte), Passwort und gleicher Stelle die Ergebnisse identisch:Tom hat geschrieben:Crypt() verschlüsselt nicht jeden Buchstaben einzeln.
Wenn man AB cryptet und AC verschlüsselt, beginnen die u.U. unterschiedlich. Und ein einzelnes A wird ggf. nochmal anders verschlüsselt.
Code: Alles auswählen
PROCEDURE Main
LOCAL cPW := "asakjWslk342"
LOCAL cTxt1 := "AAA-Test Crypt"
LOCAL cTxt2 := "AAABTest Crypt"
LOCAL x
/* we use the ansi charset by default */
SET CHARSET TO OEM
SET ALTERNATE TO test.txt
SET ALTERNATE ON
? "Teste Crypt, String von 1 bis 10 übersetzen"
? "PW: ",cPW
? "Txt1:",cTxt1
? "Txt2:",cTxt2
FOR x := 1 to 10
? x,"1",crypt(left(cTxt1,x),cPW)
? x,"2",crypt(left(cTxt2,x),cPW)
NEXT
SET ALTERNATE OFF
inkey(0)
/* $TODO: place your application code here */
RETURN
Code: Alles auswählen
Teste Crypt, String von 1 bis 10 übersetzen
PW: asakjWslk342
Txt1: AAA-Test Crypt
Txt2: AAABTest Crypt
1 1 A
1 2 A
2 1 èı
2 2 èı
3 1 èı╝
3 2 èı╝
4 1 èı╝ƒ
4 2 èı╝
5 1 èı╝ƒ♦
5 2 èı╝♦
6 1 èı╝ƒ♦◄
6 2 èı╝♦◄
7 1 èı╝ƒ♦◄Ø
7 2 èı╝♦◄Ø
8 1 èı╝ƒ♦◄س
8 2 èı╝♦◄س
9 1 èı╝ƒ♦◄س¶
9 2 èı╝♦◄س¶
10 1 èı╝ƒ♦◄س¶O
10 2 èı╝♦◄س¶O
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2517
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Crypt() und Dbseek() [ERLEDIGT]
Manfred
Hast du berücksichtigt das bei crypt() eigentlich jedes Zeichen im Ergebniss den Wert im Bereich von 0-255 haben kann? Die kannst du nicht direkt in Datenbankfelder schreiben! Ohne dass du diese zuerst noch in einen Hex String umwandelst wird du kein gutes Resulat sondern nur Probleme bekommen......
Eine einfach Variante wäre ADS-Database Server der bietet die einfache transparente Verschlüsselung, Passwort setzten, fertig.
Cu Carlo
Hast du berücksichtigt das bei crypt() eigentlich jedes Zeichen im Ergebniss den Wert im Bereich von 0-255 haben kann? Die kannst du nicht direkt in Datenbankfelder schreiben! Ohne dass du diese zuerst noch in einen Hex String umwandelst wird du kein gutes Resulat sondern nur Probleme bekommen......
Eine einfach Variante wäre ADS-Database Server der bietet die einfache transparente Verschlüsselung, Passwort setzten, fertig.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Crypt() und Dbseek() [ERLEDIGT]
Hi CArlo,
ist doch alles schon erledigt. Deshalb ja auch das [ERLEDIGT] dahinter.
ist doch alles schon erledigt. Deshalb ja auch das [ERLEDIGT] dahinter.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!