Wert verschlüsseln



  • Ich habe ein Spiel programmiert, welches einen Highscore in eine .dll datei schreibt. Natürlich steht dieser Highscore nun im klartext in dieser .dll. Ich möchte allerdings, dass es nicht so einfach ist seinen Highscore zu verbessern bzw. zu verändern.

    Ich habe im moment nur eine sehr schwache verschlüsselung eingebaut und wollte fragen ob es bestimmt algorithm ö.ä gibt mit dem ich diese Score sicherer verschlüsseln kann.

    z=fopen("highscore.dll","w");
     fprintf(z,"%i\n",100000-score);
    

    Die schreiboperation bis jetzt.

    printf("%i\n",100000-newscore);
    

    Die ausgabe bis jetzt.

    Man sieht es ist nicht wirklich stark verschlüsselt.

    Wäre nett, wenn ihr mir helfen könntet.
    MfG Danny



  • Oh, prima. 0 einsetzen und Highscore haben. 😃
    Wie wärs mit einer Checksumme oder Prüfwerte?
    Oder eine Verknüpfung mit dem Usernamen.

    Du hast ja nicht geschrieben wie schwer es werden soll.

    Wer es wirklich wissen will, schaut in dein Programm.



  • - du solltest erstmal nicht die *.dll Dateiendung benutzen
    - und kein "lesbares" Textformat benutzen, also besser

    unsigned long x=1234567;
    fwrite(&x,sizeof x,1,f);
    ...
    fread(&x,sizeof x,1,f); /* wieder einlesen */
    

    - du könntest die Datei größer machen, als für einen Score Platz benötigt wird und dann die Werte an bestimmten (nur dir bekannten) Stellen ablegen, denn vielleicht willst du ja auch noch mehr als reine Scores abspeichern
    - du könntest allereinfachste Verschlüsselungen (z.B. XOR) benutzen ( suche mal selbst danach )
    - du könntest die einzelnen Bytes eines Scores getrennt an nur dir bekannten Stellen ablegen
    - du könntest eine Prüfsumme für die Gesamtdatei oder Teilbereiche mit abspeichern um zu erkennen, ob jemand an deiner Datei manipuliert hat und dann das Programm ohne entsprechende 😉 Fehlermeldung abbrechen lassen
    - ...


Anmelden zum Antworten