Announcement

Collapse
No announcement yet.

String in Variable remanent speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String in Variable remanent speichern

    Hallo

    Ich möchte einen String in einer Variablen remanent speicher, das heisst nach einem Neustart des Programms soll sich der String noch in dieser Variablen befinden, wie kann man das realisieren ?

    Gruß Tobias

  • #2
    Hi Tobias,
    nach dem Beenden des Programmes, wird der komplette Speicher welchen dieses Programm belegte durch Windows wieder freigegeben. Da is' nix mehr .
    Schreibe deine "Daten" in ein File (ini, registry oder einfach binär) und lade dieses nach dem Starten.

    cu Michae

    Comment


    • #3
      Hallo Michael

      Das muss ich dann wohl machen, danke ich dachte da gäbs noch eine andere Möglichkeit.
      Aber da es sich hier um ein Passwort handelt wollte ich es so nicht machen.

      Danke für die Info

      Gruß Tobia

      Comment


      • #4
        Hallo Tobias,
        du kannst es ja verschlüsselt abspeichern, am einfachsten mit einer bitweisen XOR-Verknüpfung mit einem Key:

        Key-Erzeugung:

        key:Array of Byte;
        randseed:=1234567; //besser, du verwendest eine andere zahl :-)
        for i:=1 to high(key)do key[i]:=random(256);

        password kodieren:

        code:Array of Byte;
        for i:=0 to length(password)-1 do
        code[i]:=ord(password[i+1]) xor key[i];

        code kann jetzt sicher abgespeichert werden

        password dekodieren:

        password:='';
        for i:=0 to high(code) do
        password:=password+chr(code[i] xor key[i]);

        Habe den Code nicht getestet, sollte aber so ungefähr funktionieren.
        Gruß, Marku

        Comment


        • #5
          Hi Markus,
          ja, damit kann er das Passwort "sicher" abspeichern. Nach einem Neustart des Programmes aber nicht mehr lesen
          Du erzeugst einen Random Key zum xor-en. Dieser erzeugte Key ist aber nur zur Laufzeit des Programmes da! Er müsste mit einem festen Key xor_en, was aber lediglich 2 Sekunden sicher ist
          Es gibt in der Jedi Lib Schlüsseltools, welche weitaus sicherer sind.

          cu Michae

          Comment


          • #6
            Hi Michael,
            ich dachte, die Ergebnisse des Zufallsgenerators sollten reproduzierbar sein, wenn man randseed immer mit der gleichen Zahl initialisiert.
            Viele Grüße,
            Marku

            Comment


            • #7
              @markus,
              Entschuldigung, hast Recht. Wer lesen kann ist immer schwer im Vorteil :-)

              cu Michae

              Comment


              • #8
                Hallo

                Ich bedanke mich für die hilfreichen Informationen, werde ich so machen.

                Gruß Tobia

                Comment


                • #9
                  Hallo

                  Ich habe den Code von Markus Rohrschneider verwendet, da ich aber noch nicht soviel Erfahrung in der Delphi Prpgrammierung habe und der Code nicht funktioniert währe es schön wenn mir jemand erklären könnte was der Code bewirken soll.
                  Dann fällt es mir leichter den Fehler zu finden.

                  Gruß Tobia

                  Comment


                  • #10
                    Hi Tobias,
                    was funktioniert denn nicht?
                    Hast Du mal Breakpoints gestzt und Dir die Variablen zur Laufzeit angesehen? Mach mal Step by Step durch die Schleifen und sieh Dir die Variablen an...

                    cu Michae

                    Comment

                    Working...
                    X