Hermandsen: Jeg tror Cæcar undervurderede hans fjender :o)... Med lidt ændringer kan den dog godt bruges til mit formål. Men nu skal jeg lige se hvad Simon sender.
Yes yes... Den gang jeg skrev dagbog brugte jeg den da... Det varede sgu længe før klassekammeraterne fandt ud af hvordan koden skulle brydes! Jeg tror endda jeg blev nød til at fortælle dem det til sidst... ;)
Jeg har endnu ikke modtaget noget fra Simon, så jeg har modificeret hermandsens Cæcar-algoitme som jeg kan bruge middeltidig.
Hvis nogen er interreserede ligner den noget lign. dette:
function Decrypt(const sStr: String): String; var B, I, J, K: Byte; muh : boolean; begin I := 3; J := 2; K := 5; muh := true; for B := 1 to Length(sStr) do begin Result := Result + Char(Byte(sStr[B])-K); if muh = true then begin inc(I, 2); muh := false; end else begin inc(J, I); muh := true; end; if muh = true then inc(K, J) else inc(K, -I); end; end;
function Encrypt(const sStr: String): String; var B, I, J, K: Byte; muh : boolean; begin I := 3; J := 2; K := 5; muh := true; for B := 1 to Length(sStr) do begin Result := Result + Char(Byte(sStr[B])+K); if muh = true then begin inc(I, 2); muh := false; end else begin inc(J, I); muh := true; end; if muh = true then inc(K, J) else inc(K, -I); end; end;
Det skal dog lige siges at den ikke er helt fejlfri - endnu.
-Remis
Synes godt om
Slettet bruger
14. juli 2002 - 23:30#11
da den ikke går ud fra noget bestemt så vil der gå 100 år inden i vil kunde bryde en fil jeg krypterer med mit program selv om i har fået det.
Det kan ikke kun cryptere tekst men alle typer filer men i kan jo selv gå ind og ændre det lidt.
Jeg synes jeg har prøvet alt logisk, så er der nogen der kan give mig "Function Decrypt" til den her?:
function Encrypt(const sStr: String): String; var B: byte; begin for B := 1 to Length(sStr) do begin if B = 1 then Result := Result + Char(Byte(sStr[B])- Byte(sStr[B+2])+ Byte(sStr[B+1])) else if B = length(sStr) then Result := Result + Char(Byte(sStr[B])- Byte(sStr[B-2])+ Byte(sStr[B-1])) else Result := Result + Char(Byte(sStr[B])- Byte(sStr[B+1])+ Byte(sStr[B-1])); end; end;
>>borrisholt Jeg har faktisk lidt problemer med din procedure... Ikke fordi den ikke virker, men jeg vil lige fremføre mit problem:
Jeg har lavet en POP3-tjekker... Den gemmer indstillingerne i en ini-fil, og til kryperting af mit pass har jeg brugt din algoritme... Problemet er bare at den ikke skriver hele strengen i ini-filen... Det skyldes vist nogle små karakterere (#03 og der omkring) som ikke gemmes ordentligt i filen... Er der en løsning på dette?
Jeg har selv løst problemet nu ved at lave en .dat fil som bare er rå data, men er der ellers en løsning så der ikke kommer "ulovlige" karakterere i min ini-fil? :)
Borrisholt: Jeg nævnte i spørgsmålet at jeg havde kigget på din fast(de)crypt, og havde konstateret at der var fejl i. Lidt eks.:
1000 2000 3000 -> 1000 2000 300 (alt hvad du skriver herefter ignoreres) Wait 1000 -> Wait 100@R 0000 -> 000 (skriver max tre tal i rap hvis de står alene) hængebuesvin lugter af...whatever -> hængebuesvin lu (*) Pæbsi smager bedre end Pepsi -> Pæbsi (*) ZzZleeping my day away -> ZzZleeping my day awRy Ve skal man ikke starte med -> V (*) Borrisholt -> BorrisholR ;o)
(*) Hvor blev resten af?
Kan det rettes så det ikke laver underlige tegn og klipper i linierne?
Du må IKKE putte det krypterede data ud i f.eks. et edit-felt for at vise det, og derefter hente det viste krypterede data ind i en variaben og dekryptere det. Du skal ALTID have det i en string-variabel for at det ikke går tabt. Eller du kan også gemme det binært i en fil.
Hov ja.. I får lidt point hver, da jeg har kunne bruge lidt af hvert. :o)
-Remis
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.