Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - PhP XOR function nach delphi portieren!?


Alice - Do 24.07.08 20:33
Titel: PhP XOR function nach delphi portieren!?
hi,

wie müsste diese function in delphi aussehen damit diese aus php ankommenden strings
in delphi DEcodiert werden!?


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
     function xor_string($string)
      {
        $buf = '';
        $size = strlen($string);
        for ($i=0; $i<$size; $i++)
          $buf .= chr(ord($string[$i]) ^ 255);
        return $buf;
      }


thx! vom php noob...

cu


Moderiert von user profile iconNarses: Topic aus Delphi4PHP-Technologien verschoben am Do 24.07.2008 um 20:43


Narses - Do 24.07.08 20:45

Moin!

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function XOR_String(const S: String): String;
  var
    i: Integer;
begin
  Result := S;
  for i := 1 to Length(Result) do
    Result[i] := Chr(Ord(Result[i]) xor 255);
end;
cu
Narses


alzaimar - Do 24.07.08 20:46
Titel: Re: PhP XOR function nach delphi portieren!?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function xor_string(Const aString : String) : String;
Var
  buf : String;
  i, size : IntegeR;

Begin
  buf := '';
  size = Length(aString);
  for i:=1 to size do 
    buf := buf + chr(ord(aString[i]) xor 255);

  result := buf;
end;

bei dem '^' bin ich mir nicht sicher, aber da die Funktion was mit 'XOR_' heißt....


Narses - Do 24.07.08 21:00

Moin!

@user profile iconalzaimar: Sowas von dir? buf := buf + chr( :gruebel: :nixweiss:

cu
Narses


alzaimar - Do 24.07.08 22:04

user profile iconNarses hat folgendes geschrieben:
Moin!

Narses, wo bist Du? Es heißt N'ahmnjd.
user profile iconNarses hat folgendes geschrieben:

user profile iconalzaimar: Sowas von dir?

Ach Narses, ich wollte doch nur die Funktion 1:1 in Delphi übersetzen. Übrigens ist das nicht (mehr) langsamer, danke FastMM4. :mrgreen:
Aber das Du mich so :bawling: bloßstellen musst. :eyes: Schnüüf.
:zwinker:


Tilman - Do 24.07.08 22:41

user profile iconalzaimar hat folgendes geschrieben:
user profile iconNarses hat folgendes geschrieben:
Moin!

Narses, wo bist Du? Es heißt N'ahmnjd.


Lol, da kennst sich aber mal einer (nicht) aus ^^ [http://de.wikipedia.org/wiki/Moin]


Alice - Fr 25.07.08 08:00

hi,

@alzaimar
@Narses

beide funktionieren :-)
und beide routinen ist in etwa gleich schnell.

jetzt mal eben mit ca. 170kb an daten probiert.

cu and thx!

alice


alzaimar - Fr 25.07.08 08:22

user profile iconTilman hat folgendes geschrieben:
Lol, da kennst sich aber mal einer (nicht) aus ^^ [http://de.wikipedia.org/wiki/Moin]

Hups, aber der musste einfach sein. Zumal ich einmal mehr mainfestieren musste, das es (wenngleich primitive) Volksstämme ("Berliner") gibt, die etwas mehr Abwechslung in ihren Begrüßungsformen aufweisen. :mrgreen:
Wir begrüßen uns mit
"Hi" (! Intellektuell)
"Ey, Alter" (! Stillvoll)
"Tach auch"
"N'ahmnjd allerseits"
"Na Du alte Kackbratze" (Seit Kurt Krömer)

Ist doch mehr als immer nur
"Moin"
"Moin Moin"

Ich nehme dennoch demütig zur Kenntnis, das es auch andere Begrüßungsformen unabhängig von der Tageszeit gibt. :flehan:


Narses - Fr 25.07.08 11:50

Moin!

Um mal wieder etwas OnTopic zu werden :zwinker:

user profile iconAlice hat folgendes geschrieben:
beide funktionieren :-)
und beide routinen ist in etwa gleich schnell.
Das ist auch gar nicht der Punkt, sondern:
user profile iconAlice hat folgendes geschrieben:
jetzt mal eben mit ca. 170kb an daten probiert.
meine Variante ist speicherschonender, da nicht immer wieder bei jedem Zeichen Speicher für eine neue String-Kopie angefordert werden muss. :idea: ;)

cu
Narses


Alice - Sa 26.07.08 09:43

user profile iconNarses hat folgendes geschrieben:
Moin!

user profile iconAlice hat folgendes geschrieben:
beide funktionieren :-)
und beide routinen ist in etwa gleich schnell.
Das ist auch gar nicht der Punkt, sondern:
user profile iconAlice hat folgendes geschrieben:
jetzt mal eben mit ca. 170kb an daten probiert.
meine Variante ist speicherschonender, da nicht immer wieder bei jedem Zeichen Speicher für eine neue String-Kopie angefordert werden muss. :idea: ;)


hi

ja!, stimmt.

jedoch spielte die perf. auch eine rolle,
da jedoch wie schon gesagt beide in etwas gleich schnell sind,
kommt deine routine im einsatz.

trotzdem, mein dank gilt euch beiden!

cu

alice