Hvis du vil krypere indholdet vil jeg foreslå at du aldrig bruger SaveToFile. I såfald vil din fil ligge ukrypteret "i tidsrummet" fra du har kaldt "SaveToFile" til "Crypt" er færdig.
Dine Crypt og Decrypt routiner kan således håndtere save og load af din file, og du kan evt. til formålet bruge BlockRead/BlockSave til at læse/skrive dine data.
Med hensyn til selve krypteringen så er der mange muligheder, men den simpleste er at Not'e hver byte. Denne "kryptering" er ikke svær at "knække" men hvis der blot er tale om almindelige "dumme" brugere så er det rigeligt. Ligeledes har det den fordel at samme routine kan bruges både til at kryptere og dekryptere
(************************************************************) function Decrypt( const sStr: String; Key: Word): String; (************************************************************) var I: LongInt; begin Result := sStr; for I := 1 to Length(sStr) do begin Result[I] := Char(Byte(sStr[I]) xor (Key shr 8)); Key := (Byte(Result[I]) + Key) * C1 + C2; end; end;
(************************************************************) function Encrypt( const sStr: String; Key: Word): String; (************************************************************) var I: LongInt; begin Result := sStr; for I := 1 to Length(sStr) do begin Result[I] := Char(Byte(sStr[I]) xor (Key shr 8)); Key := (Byte(sStr[I]) + Key) * C1 + C2; end; end;
//Gem Var St:String; begin St := ListBox1.items.text; ListBox1.Items.text := Encrypt(St, 10); ListBox1.Items.SaveToFile('C:\Test.txt'); ListBox1.Items.text :=St ; end;
Ok hvis du ved at der altid kommer en ny linie, kan du jo løse det på den dårlige måde ved bare at køre Listbox1.items.Delete(Listbox1.items.count-1); Efter du har decrypted
Synes godt om
Slettet bruger
08. maj 2002 - 12:54#6
hehe, dårlige måde.. :)
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.