Checksummen-Algorhytmus für Blitzbasic und php
Übersicht Sonstiges Smalltalk
SmilyBetreff: Checksummen-Algorhytmus für Blitzbasic und php |
Do, März 08, 2007 14:22 Antworten mit Zitat |
|
---|---|---|
Hallo,
Ich arbeite derzeit mit Blitzplus an einem Spiel, welches eine Onlinehighscore Besitzt. Als schnittstelle dafür dient ein php-Script was auf einem Server liegt. Dieses Script wird dann mit POST-Daten (Username, Punkte...) aufgerufen. Das Problem ist jetzt folgendes: Der User kann den Stream zwichen seinen PC und den Server auslesen und so selber Highscore-Einträge machen. Das will ich natürlich irgendwie umgehen. Ich dachte dabei an eine Checksumme, die mit den Punkten Übertragen wird, und dann mittels PHP-Script überprüft wird (Punkte werden nochmal verschlüsselt und Checksumme verglichen) Allerdings sind meine Ansätze nicht wirklich das Wahre (abgesehen davon, dass sie auch nicht funktionieren ^^), und wollte wissen, ob es irgendwo schon einen Algorhytmus dafür gibt, welcher in Beiden Sprachen Existiert bzw sich leicht portieren lässt (Meine php kenntnisse lassen seeeehhr zu wünschen übrig. Hab ein Paar Schattenbaum.net-Grundkenntnisse aber mehr nicht) Am Besten wäre es, wenn der Algrhytmus auch gleich einen Schlüssel von mir mit einbezieht. Hätte da jemand was für mich? ^^ Ich wäre dankbar. mfg, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
hecticSieger des IS Talentwettbewerb 2006 |
Do, März 08, 2007 15:30 Antworten mit Zitat |
|
---|---|---|
Keine Ahnung ob Checksmme das gleiche ist wie die Quersumme, aber Quersumme geht so...
HighScore=12345 Quersumme=1+2+3+4+5=15 Um das ganze nicht ganz so einfach zu machen, kann man es auch etwas kopmplizierter machen. zB: Quersumme=Int(1*(1.7*pos)+2*(1.7*pos)+3*(1.7*pos)+4*(1.7*pos)+5*(1.7*pos)) pos ist dann zB die Zahlenposition (erste Zahl=1, zweite Zahl=2...). Das ganze dann noch durch ein XOR-Filter, und es ist (wie ich finde) ausreichend Verschlüsselt. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Smily |
Do, März 08, 2007 16:23 Antworten mit Zitat |
|
---|---|---|
Checksumme ist nich gleich Quersume
Aber die Idee ist trotzdem nett. Ich werds mal versuchen. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Axe |
Do, März 08, 2007 16:26 Antworten mit Zitat |
|
---|---|---|
Eine passende Anweisung in PHP für dein Problem gibt es nicht direkt.
Ich würde eine Verschlüsselung mittels XOR vorschlagen. Das lässt sich auf beiden Systemen leicht umsetzen. Um den Schlüssel schwieriger zu machen könnt man vlt die aktuelle Uhrzeit einbauen. Diese müsste der Client vorher vom Server abfragen. MfG Axe |
||
Projekte:
Ping Pong 2D Version 2.1 Weitere Infos: axesite.de |
Suco-XBetreff: ...... |
Do, März 08, 2007 16:36 Antworten mit Zitat |
|
---|---|---|
Also ich habe das Problem die Tage schon gehabt. Ich habe einfach Username und Score mit einem Seperator zusammengefügt, daraus den md5 Code erstellt und den md5 Code mit Username+Score wieder mit einem Seperator zusammengefügt.Über diesen String lasse ich dann noch eine einfache Verschlüsselung drüberlaufen (Rc4) und danach wird er gesendet. Mit PHP wird das ganze wieder auseinandergenommen und gespeichert.
Md5 habe ich halt genommen, damit keiner Testweise die Nachricht manipulieren kann und in der Scoreliste das Ergebnis sieht. In PHP wird die Nachricht halt wieder entschlüsselt und der Md5 Code vom Rest getrennt. Von dem Rest wird wieder ein Md5 Code ausgegeben und mit dem mitgesendeten verglichen. Stimmen die nicht überein, wird der Benutzer via IP gesperrt. Denke nicht, das das 100% Schutz bietet, aber ausreichend sollte es sein. Md5 Funktion gibt es sicher auch für BB und PHP hat die sowieso. Mfg |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Smily |
Do, März 08, 2007 16:48 Antworten mit Zitat |
|
---|---|---|
Was ist denn ein Seperator?
Den Begriff hab ich noch nie gehört. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Suco-XBetreff: ....... |
Do, März 08, 2007 16:51 Antworten mit Zitat |
|
---|---|---|
Das ist ein Trennzeichen.
Also z.b. "Username|Punkte". PHP hat die Funktion Explode dafür, für BlitzPlus müsste man sie sich wohl selbst anfertigen. Habe nur eine für BlitzMax. Der Seperator müsste wohl mehrstellig ausfallen, um zufällige Übereinstimmungen mit Zeichen im Usernamen zu vermeiden. Mfg |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
FOODy |
Do, März 08, 2007 16:52 Antworten mit Zitat |
|
---|---|---|
Smily0412 hat Folgendes geschrieben: Was ist denn ein Seperator?
Den Begriff hab ich noch nie gehört. Nichts weiter als ein Trennzeichen deiner Wahl. "Name|123|2ab29234934294" Da wäre z.b. "|" der Separator. Gruß, FOODy EDIT: Mist. Eine Minute zu spät ;P |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Übersicht Sonstiges Smalltalk
Powered by phpBB © 2001 - 2006, phpBB Group