Autor |
Beitrag |
Comp-Freak
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 08:40
ich habe den source code von einem verschluesselungs progrm mahl angekuckt aber ich werde nicht ganz scglaud drauss. Ich probiere gerade diese methode aus:
Delphi-Quelltext 1:
| readbuff := char(pchar(buff)+ $20) |
aber ich weiss nicht genau wie ich sie benuezten soll.
So klappt es nicht:
Delphi-Quelltext 1:
| edit1.text := char(pchar(edit2.text)+ $20) |
und wenn ich es ohne verschlussenlung mache kommt bei jeder eingabe das gleiche rauss:
Delphi-Quelltext 1:
| edit1.text := char(pchar(edit2.text)) |
brauch hilfe bitte.
Moderiert von Christian S.: Delphi-Tags hinzugefügt
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Sa 14.04.07 10:42
Hi,
bitte verwende nächstesmal Delphi-Tags, wenn du einen Quelltext hier postest: [ delphi]dein Code...[/ delphi]
Du musst in einer Schleife jedes Zeichen in dem String durchgehen und es einzeln verschlüsseln:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var i: Integer; begin Edit1.Text := ''; for i := 1 to Length(Edit2.Text) do Edit1.Text := Edit1.Text + ; end; |
Den Rest bekommst du selber hin. 
Zuletzt bearbeitet von Chryzler am Sa 14.04.07 10:53, insgesamt 1-mal bearbeitet
|
|
Corpsman
      
Beiträge: 228
KUbuntu 10.4
Lazarus
|
Verfasst: Sa 14.04.07 10:52
@Comp-Freak
Was eine Verschlüsselung sit , ist dir aber klar, oder ?
In deinem Fall wird einfach auf jedes Zeichen der Wert 32 = Hex 20 draufaddiert. Und somit deine Zeichen "verschoben"
Das ist natürlich nicht gerade eine Sichere Verschlüsselung.
und das du das Verschlüsselte Ergebnis nicht wirklich lesen Kannst ist schon OK, denn es gibt ja auch Zeichen die Probleme machen wie z.b. #13 oder #8 die kannst du dir so natürlich nicht anzeigen lassen.
ich empfehle etwas in der Art
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| function Crypt(Bla:String;Key:integer):String; var i :Integer; begin randset(key); result := ''; for i := 1 to Length(bla) do begin Result := Result + chr(odd(bla[i]) xor random (256)); end; end; |
Da ich das aber grad so blind gecoded hab must evtle Fehler selbst noch Korigieren
_________________ --
Just Try it.
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Sa 14.04.07 11:16
Corpsman hat folgendes geschrieben: | ich empfehle etwas in der Art
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| function Crypt(Bla:String;Key:integer):String; var i :Integer; begin randset(key); result := ''; for i := 1 to Length(bla) do begin Result := Result + chr(odd(bla[i]) xor random (256)); end; end; | |
Irgendwie werd ich aus deiner Verschlüsselung nicht schlau. randset gibt es nicht, du meinst wohl RandSeed. Und außerdem ist das eher eine Hash-Funktion als eine Verschlüsselung, oder wie willst du dazu eine Entschlüsselungsroutine schreiben!?
Aber um das gehts ja jetzt gar nicht. Back 2 Topic wie man so schön sagt. 
|
|
Comp-Freak 
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 11:20
@Corpsman
ja ich weiss was eine verschlusselung ist aber aller anfang ist klein  .
ich werde aus deinem beispiel einfach nicht schlau. bin warscheinlich zu bloed...
mein debbuger weiss nicht was randset ist und google auch nicht...
-[Fehler] Unit1.pas(27): Undefinierter Bezeichner: 'randset'
dan gibts da noch zwei andere fehler hier:
Delphi-Quelltext 1:
| Result := Result + chr(odd(bla[i]) xor random (256)); |
-[Fehler] Unit1.pas(30): Operator ist auf diesen Operandentyp nicht anwendbar
-[Fehler] Unit1.pas(30): Inkompatible Typen
entshuldigung das ihr mich mit dem loefel futtern musst  .
|
|
Corpsman
      
Beiträge: 228
KUbuntu 10.4
Lazarus
|
Verfasst: Sa 14.04.07 11:26
Also jetzt hab ich den Compiler halt doch noch angeworfen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function Crypt(Bla:String;Key:integer):String; var i :Integer; begin randseed:=key; result := ''; for i := 1 to Length(bla) do begin Result := Result + chr(ord(bla[i]) xor random (256)); end; end;
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.text := Crypt(edit1.text,35132); end; |
Erstellt ein Formular und macht nen Button und ein Edit drauf.
1. Klick Verschlüsseln
2. Klick Entschlüsseln
_________________ --
Just Try it.
|
|
Comp-Freak 
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 11:44
Wow Danke !
nur noch eine frage: wie gross/klein kan/muss der key sein?
Nochmals danke !
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 14.04.07 11:46
Low(LongInt) to High(LongInt)
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Comp-Freak 
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 11:50
GTA-Place hat folgendes geschrieben: | Low(LongInt) to High(LongInt) |
??? Dadrauss werde ich (wieder mahl) nicht schlau ???
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 14.04.07 11:53
-2147483648 bis 2147483647
LongInt -> F1.
PS: Mal ohne h. Draus mit einem s.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Sa 14.04.07 14:09
@Corpsman:
Delphi-Quelltext 1:
| ..chr(ord(bla[i]) xor random (256) |
das ist definitiv mal ne verschlüsslung, kannst mir mal bitte erklären, wie die entsprechende entschlüsslung funktioniert? wäre ja vllt für den urheber dieses posts ganz interessant, da er scheinbar allet nur eintippt ohne es zu verstehen (@ComFreak: bitte nicht falsch verstehen!)
:r:
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
|
|
Comp-Freak 
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 14:41
@ GTA
danke das verstehe ich
@ Rizla
ich glaub ich verstehe es schon. Gets so:
jeder buchstabe wird in einen anderen random buchstaben verwandelt.
Der random seed/password/key macht es dan moeglich das das gleiche random reingeht
wie rauskommt. Stimmt das?
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Sa 14.04.07 16:18
Nee, wie denn bitte?
Delphi-Quelltext 1: 2:
| ..chr(ord(bla[i]) xor random (256) |
"ord(bla[i]) = 1 buchstabe des textes, verknüpfe den logisch (xor) mit irgendeinem wert, der dir gerade in den sinn kommt (random(256)) und gib den aus".
zumal es keine korrelation zu randseed gibt, ist die verschlüsselung nicht eindeutig und wenn dies der fall ist, ist eine eindeutige entschlüsslung nicht möglich!
woher willst du denn den genauen key für byte[x] nehmen? anhand des codes ist das eineindeutig nicht möglich
[r!]izla
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
|
|
Dunkel
      
Beiträge: 682
Mac OS X Snow Leopard
Xcode 3.1
|
Verfasst: Sa 14.04.07 16:46
Mit
Delphi-Quelltext
ist eine Ver- & Entschlüsselung auch mit Random möglich.
Random gibt nämlich keine "Zufallszahlen" in diesem Sinne aus, es ist eher ein "Pseudo-Zufall". (siehe auch das hier)
Mit Randseed wird der "Zufallsgenerator" so "getriggert", dass er immer die selbe Reihenfolge von Zufallszahlen ausgibt.
_________________ Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
|
|
Comp-Freak 
      
Beiträge: 89
|
Verfasst: Sa 14.04.07 16:58
@Rizla
Dunkel hat folgendes geschrieben: | Mit
Delphi-Quelltext
Random gibt nämlich keine "Zufallszahlen" in diesem Sinne aus, es ist eher ein "Pseudo-Zufall"
....
Mit Randseed wird der "Zufallsgenerator" so "getriggert", dass er immer die selbe Reihenfolge von Zufallszahlen ausgibt. |
Hah macht eben doch das immer das gleiche raus kommt  .
(nimms nich so ernst ich geniesse bloss einer der wenigen minuten in meinem leben in den ich mahl recht hab  )
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Sa 14.04.07 19:50
sry, i missed it
aber wieder was gelernt!
rizla
-------------------
rizla heißt's, nicht Rizla oder rIZLA oder oder oder  *g*
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
|
|