![]() |
Kleine Verschlüsselung
Delphi-Quellcode:
Das ist meine kleine Verschlüsslung ist nicht sehr hart zu knacken aber auch da muss man erstmal drauf kommen
function verschüssel (Wort: string) : string;
var i,f,x:integer; test, test1, test2 : string; begin test := ''; For i := 1 to length(wort) do begin test := Test+ '#' + Inttostr(Ord(Wort[i])) + '#'; test2 := Inttostr(Ord(Wort[i])) + '#'; For f := Length(test2) to 9 do begin x := random (215) +36; test1 := Chr(x); test := test + test1; end; end; result := tesT; end; function entschüssel (Wort: string) : string; var Buchstaben : TStringList; i,f : integer; test: string; Test1 : TStringList; begin test := ''; Test1 := TStringList.Create; Buchstaben := TStringList.Create; For i := 1 to length( wort) do begin If wort[i] = '#' then begin Buchstaben.add (InttoStr(i)); end; end; For i := 1 to Buchstaben.count -1 do begin For f := StrtoInt(Buchstaben[i-1]) +1 to StrtoInt(Buchstaben[i])-1 do begin test := test + wort[f]; end; try StrtoInt(test); If test <> '' then Test1.add (test); test := ''; except test := ''; end; end; test := ''; For i:= 0 to Test1.Count -1 do begin test := test + chr (StrtoInt(Test1[i])); end; result := test; end; |
Re: Kleine Verschlüsselung
Ist das nicht eher was für die Code-Bibliothek? :gruebel:
MfG freak |
Re: Kleine Verschlüsselung
Hallo Sascha,
vielleicht kannst Du ja noch was zu Deinem Verfahren sagen. Wo liegen die Stärken, wo liegen die Schwächen - was grenzt es gegenüber den anderen Verfahren ab, die zu finden sind? |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Open-Source" nach "Neuen Beitrag zur Code-Library hinzufügen" verschoben.
Ich habe es mal hierhin verschoben, auch wenn ich denke, dass es für die CL nicht reichen würde, aber das sieht mann dann ja noch. :) |
Re: Kleine Verschlüsselung
also ich denke das die Schwächen auf der Hand liegen, wenn man die Wert in eine Datei speichert und sich dann an mal anguckt dann endeckt man das es viele verwirrende zeiche gibt aber auch Zufälltig gut lesbare zahlen und dann kommt man auch irgendwann drauf das es sich um ord() handelt.
Ich denke aber das das ganze für den "Einfachen gebraucht" geeignet ist |
Re: Kleine Verschlüsselung
Ich würde sagen, die frißt ganz schön Speicher.
Hab's nicht getestet, aber der verschlüsselte String wird wohl 10 mal so groß sein, wie der Unverschlüsselte, außderem helfen zufällige Bytes darin überhaupt nüschts, wenn man vorher schon weiß, daß man einfach nur jeweils 10 Zeichen auslesen muß, sich die ersten Zahlen wischen den ersten beiden # vornehmen und diese per chr in ein Byte umwandeln muß ... die restelich "zufälligen" Zeichen sind also vollkommen sinnlos und jedem, der nur halbwegs was von Ent-/Verschlüsselung versteht, wird auffallen, daß diese Zeichen nicht zum Eingangsstring gehören können ... entweder sind's immer die Selbern, da di ja das Randomize vergessen hast, oder die sind immer anders, was bei 'nem unverändertem Eingansstring kaum mögich ist. So, und jetzt darf der Hagen auch noch darüber herziehn ._. [nachtrag] wiedermal ein bissl langsam -.-'' @Sascha_OW noch einfach wird's, weil die zufällg gut lesbaren Zahlen schön eingepackt sind und immer gut positioniert :mrgreen:
Delphi-Quellcode:
#123#.....#12#......#123#.....#12#......
|
Re: Kleine Verschlüsselung
ich werde jetzt noch mal 2..3 Sachen nach bessern
|
Re: Kleine Verschlüsselung
so ich habe das denn noch mal überdacht:
Delphi-Quellcode:
function verschüssel (Wort: string) : string;
var i,f,x,v,ran:integer; test, test1, test2, ran_str, test3 : string; begin test := ''; ran_str := ''; ran := 0; For i := 1 to length(wort) do begin ran := random(8)+1; test2 := Inttostr(Ord(Wort[i])*154) ; v := Ord(Wort[i]) * 154 * length(test2); test2 := InttoStr(v) + InttoStr(length(test2)); test := Test+ InttoStr(ran); If length(test) <10 then ran_str := ran_str + '0' + inttostr(length(test)) else ran_str := ran_str + InttoStr(length(test)); test := test + test2; end; If length(test)> 9 then ran_str := ran_str + inttostr(length(test)) else ran_str := ran_str + '0' + InttoStr(length(test)); test3 := InttoStr(Length(ran_str)); If strtoint(test3) < 9 then test3 := '0' + test3; result := test3 + ran_str + test; end; function entschüssel (Wort: string): string; var i,f,x,y, test6, test7 : integer; test1,test2: TStringList; test, test3, test4, test5, test8,test10 : string; begin x := 0; test := ''; test3 := ''; result := ''; test10 := ''; test4 := ''; test6 := 0; test7 := 0; test8 := ''; test1 := TStringList.Create; test2 := TStringList.Create; x := 2; For i := 2 to (StrToInt((Wort[1] + Wort[2]))+ 2) div 2 do begin x := x + 2; test := Wort[x -1]+ wort [x]; If i = (StrToInt((Wort[1] + Wort[2]))+ 2) div 2 then test1.add (Inttostr(Strtoint(test) + 1)) else test1.add (test); end; For i := 3 + StrtoInt(Wort[1] + Wort[2]) to length (wort) do test4 := test4 + Wort[i]; For i := 1 to (StrtoInt(Wort[1] + Wort[2]) div 2) -1 do begin For f := strtoint(test1[i - 1]) +1 to strtoInt(test1[i]) -1 do begin test3 := test3 + test4[f]; end; test5 := test3[length(Test3)]; test6 := StrtoInt(test5); For y := 1 to length(test3) - 1 do begin test10 := test10 + test3[y]; end; test7 := Strtoint(test10) div strtoint(test5); test7 := test7 div 154; test8 := Test8 + chr(test7); test7 := 0; test3 := ''; test10 := ''; end; result := test8; end; Der string sieht dann so aus: Zitat:
Jetzt könt ihr mir nicht sagen das das all zu schenll zu knacken ist [edit=Admin]String umgebrochen, um Scrollbalken zu vermeiden. ;-) Mfg, Daniel[/edit] |
Re: Kleine Verschlüsselung
Naja, das Problem würde ich aber definitiv darin sehen, dass du keinen Schlüssel verwendest. Sobald jemand deinen Code kennt hast du ein großes Problem.
|
Re: Kleine Verschlüsselung
das ist schon war, aber ich kenne mich da nicht so gut aus und weiss nicht so recht wie das mit den Schlüüseln läuft und ich finde als einfache Verschlüüselung geht das doch durcvh
|
Re: Kleine Verschlüsselung
OK, jetzt sieht es schon schwerer aus, aber die "zufälligen" Werte da rauszufiltern sollte auch kein großes Problem darstellen und der Rest ist für 'nen halbwegs begabten CodeKnacker bestimmt auch keine große Angelegenheit mehr.
Diese "Zufallszahlen" bringen dir wie gesagt überhaupt nüschts, außer, daß sie den Verschlüsselten String nochmal vergrößern. Ohne Randomize sieht man vorallem bei unterschiedlichen Eingabestrings sehr gut wo sich diese befinden und mit Randomize vorallem bei gleichem Eingabestring ... so oder so, die bringen garnüschts. |
Re: Kleine Verschlüsselung
ja das mag sein. Ich der anfang vom string könnte einen noch ein bisschen verwirren.... und da ist ja festgelegt wo die zufallszahlen sind.
Ist ja auch meiner aller erste verschlüsselung die ich jemals gemacht habe, ich werde mich da jetzt vlt wenn ich zeit haben mal ein bisschen reinlesen und mal schauen was ich denn da so auf die beine stelle, vieleicht ja "md6" ne scherz |
Re: Kleine Verschlüsselung
md5 is keine verschlüsselung...
|
Re: Kleine Verschlüsselung
Hai Sascha_OW,
ohne jetzt dein System für die "Verschlüsselung" bewerten zu wollen möchte ich Dir doch eines an dein Herz legen (doller Satz oder *G*) Wenn Du einen Beitrag in die Code-Lib stellst (was ich grundsätzlich immer sehr gut finde!!!) Wäre es doch gut wenn Du den Code auch etwas "erklären" würdest. Nur so haben andere aus unserem schönen Forum die Möglichkeit deinen Code für sich zu verwenden. Aber das ist nur so ein "Denkanstoss" von dem alten Hai :stupid: |
Re: Kleine Verschlüsselung
deswegen steht ja auch dahinter "ne scherz"
also ich wollte das ding ja nie in die CL stellen es wurde dahin verschoben aber trotzdem für die die das programm noch nicht gelesen haben: Die Verschlüsselung macht nicht viel aber für den Anfang reicht es: als erstes wird der Asciiwert der einzelen Zeichen ausgelesen dann werden die mit 154 Multipliziert und danach noch mit der eigenen länge danach werden zwischen die einzelnen Zeichenwerte eine Zufallszahl hinzufegügt die Position, besser gesagt die stelle im String wo die Zufallszahl steht wird an den Anfang des Verschlüsselten strings geschrieben und davor kommt noch die anzahl der steller, des teilstring, der die Position der zufallszahlen festfällt. Das war es schon ist nicht besonderes, aber ist mein, deswegen für mich was besonderes |
Re: Kleine Verschlüsselung
das war auch nicht zu einfach zu entschlüssln auch mit quelltext:
![]() |
DP-Maintenance
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.
Kommt nicht in die Code-Library. Darum unauffällig zurück... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz