Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eine Art CD-Key, die zurückführbar ist...? (https://www.delphipraxis.net/59876-eine-art-cd-key-die-zurueckfuehrbar-ist.html)

Master_RC 29. Dez 2005 22:34


Eine Art CD-Key, die zurückführbar ist...?
 
hi leutz!

Ich wollte ein neues Projekt zu meinem Browsergame anfangen und da wollte ich es so machen, dass eine Art CD-Key aus dem Usernamen im Browsergame generirt wird, der dann im Delphi-Programm wieder "rückentschlüsselt" wird.

Also:

Im Browsergame drückt eben einer mit dem Namen "Mustermann" auf "Ich will meinen CD-Key!"

Dann bekommt er eben solch einen.

Den CD-Key gibt der Herr Mustermann dann im Delphi-Programm ein.

Auf einmal tost und brodelt es und - Schwupp! - Delphi-Programm spuckt aus "Oh, du bist ja der Herr Mustermann!"

... jo...


So... jetzt denkt ihr natürlich - Verschlüssle doch einfach per XOR oder so, ABER:
Hehe, ich muss den Key ja in PHP genrieren und mit Delphi auflösen, also wie macht man das dann?
GIbts da schon solche Funktionen?

flomei 29. Dez 2005 22:39

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Hä?

Wo ist das Problem?

Du lässt dir von PHP nen String erstellen, verschlüsselst den mit XOR und fertig.
Dann sollte Delphi den auch zurück rechnen können, oder?

MfG Florian :hi:

Master_RC 29. Dez 2005 23:40

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Wie mache ich das in PHP?

Rastaman 29. Dez 2005 23:41

Re: Eine Art CD-Key, die zurückführbar ist...?
 
genau wie in Delphi nur, dass man ein $ vor Variablennamen schreibe ;)

Master_RC 29. Dez 2005 23:47

Re: Eine Art CD-Key, die zurückführbar ist...?
 
also aus
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender:TObject);
var
  s: String;
  i: Integer;
begin
  // Kodieren
  s:=Edit1.Text;
  for i:=1 to length(s) do
    s[i]:=char(23 Xor Ord(s[i]));
end;
mach:
Code:
<?
function XOR($s){
 for($i=0,$i++,length($s)){
  $s[$i] = char(23 XOR Ord($s[$i]));
 }
}
?>
Oder?
Sieht mir nicht wirklich nach einwandfreiem PHP aus :gruebel:

faux 30. Dez 2005 00:51

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Hallo!

In Delphi liefern zwar char und chr meist das gleiche Ergebnis, jedoch ist Char ein Casting und Chr eine Funktion. Genau so in PHP (ich denke char gibt es dort aber als Typ nicht). Jedenfalls musst du chr() schreiben anstatt von char. ;)
Eine FOR-Schreife sieht in PHP etwas anders aus: for(<Variablen Dekl.>;<Bedingung>;<Aktion>).
Also:

Code:
aus: for($i=0,$i++,length($s))
wird: for($i=0;$i<strlen($s);$i++)
Achja, und length() wird zu strlen() ;)

Was mir noch eingefallen ist:
Mit diesem Algorithmus erhältst du mit großer Warscheinlichkeit nicht-druckbare Zeichen, was zu einem Problem führen könnte. Da musst du dir noch was überlegen.

Grüße
Faux

Master_RC 30. Dez 2005 01:03

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Dann bringt mir also XOR doch nichts...

Was wären Alternativen?

ultrasombrero 30. Dez 2005 03:11

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Mach ein XOR und verschlüssle es mit Base64. Dann hast du das Problem mit den nicht-druckbaren Zeichen wunderbar umgangen. Base64 sollte selbst mit dem Scheiss-PHP möglich sein. Ansonsten verwende ASP.NET, das kannst du sogar in Delphi programmieren!

Luckie 30. Dez 2005 03:32

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Zitat:

Zitat von ultrasombrero
...Scheiss-PHP...

Bitte unterlass in Zukunft solche Ausdrücke in Fäkalsprache. Es gibt auch andere Forem seine Abneigunen gegenüber anderen Programmiersprachen auszudrücken. Sieh dies als ernsthafte Verwarnung an, so etwas wird hier im Forum nicht toleriert! :warn:

Master_RC 30. Dez 2005 10:43

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Zitat:

Zitat von ultrasombrero
Mach ein XOR und verschlüssle es mit Base64. Dann hast du das Problem mit den nicht-druckbaren Zeichen wunderbar umgangen. Base64 sollte selbst mit dem PHP möglich sein. Ansonsten verwende ASP.NET, das kannst du sogar in Delphi programmieren!

Tolle info...
Wie mache ich das nun? Sowohl Delphi, als auch PHP?

faux 30. Dez 2005 11:27

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Zitat:

Zitat von Master_RC
Zitat:

Zitat von ultrasombrero
Mach ein XOR und verschlüssle es mit Base64. Dann hast du das Problem mit den nicht-druckbaren Zeichen wunderbar umgangen. Base64 sollte selbst mit dem PHP möglich sein. Ansonsten verwende ASP.NET, das kannst du sogar in Delphi programmieren!

Tolle info...
Wie mache ich das nun? Sowohl Delphi, als auch PHP?

in PHP gibts zwei funktionen namens base64_encode() und base64_decode(). Diese sind dazu da, Strings, die nicht-druckbare Zeichen enthalten ohne Probleme zu übertragen. base64_encode() erstellt dir diesen String und mit base64_decode() bekommst du wieder den ursprünglichen String.
Wie du das in Delphi realisierst, weiß ich jedoch leider auch nicht.

Grüße
Faux

Khabarakh 30. Dez 2005 11:31

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Base64Base64

Master_RC 30. Dez 2005 11:34

Re: Eine Art CD-Key, die zurückführbar ist...?
 
gut, dann wär das ja mal geregelt :)

Danke!

faux 30. Dez 2005 11:37

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Wobei sich jetzt die Frage stellt, ob du das mit dem XOR nicht überhaupt weg lässt. Denn den base64-String kann man auch nicht "mit dem freien Auge" lesen. ;)

Grüße
Faux

Master_RC 30. Dez 2005 11:38

Re: Eine Art CD-Key, die zurückführbar ist...?
 
Ich werd auch nur base benutzen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 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