Fehler bei MOD?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehler bei MOD?

    Ich wollte ein XOR script für strings schreiben bin auch soweit fertig nur irgendwie komm ich nicht drauf wo der Fehler im script sein könnte bis auf mod(was ich bisher nie benutzt habe) meine frage also:

    ist

    GML-Quellcode

    1. 13 mod 10

    gleich 3?
    ach ja hier mein code für das XOR script(darf frei verwendet werden).

    GML-Quellcode

    1. // Argument0 = String
    2. // Argument1 = Passwort
    3. var re, temp, temp0;
    4. re="";
    5. temp0=1;
    6. for(i=1; i<=string_length(argument0); i+=1;)
    7. {
    8. temp=ord(string_char_at(argument0,i));
    9. temp0=temp0 mod string_length(argument1);
    10. temp=temp^ord(string_char_at(argument1,temp0));
    11. temp0+=1;
    12. re+=chr(temp);
    13. }
    14. return re;
    Alles anzeigen

    €dit:ach bin warscheinlich erst nächste Woche wieder on.
    PS: ich komm einfach nicht auf die lösung vielleicht brauche ich einfach ein wenig Distanz vom Problem

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Genesis ()

  • Das Script sieht sehr interessant aus aber leider hab ich nicht die geringste Ahnung was ein XOR für strings sein soll. Ich kenn das nur für bool Werte. Weil du als Argumente String und Passwort hast vermute ich mal, dass es so eine Art Verschlüsselung sein soll?

    Das mit dem mod hast du gut erkannt. Es gibt immer den Rest einer ganzzahligen Division zurück.

    Was genau muss denn bei dem Script raus kommen und was kommt da bis jetzt raus?
  • Also bei mir funktionierts zwar auch so einwandfrei, aber probier mal folgende Änderung:

    GML-Quellcode

    1. // Argument0 = String
    2. // Argument1 = Passwort
    3. var re, temp, temp0;
    4. re="";
    5. temp0=0;
    6. for(i=1; i<=string_length(argument0); i+=1;)
    7. {
    8. temp=ord(string_char_at(argument0,i));
    9. temp0=temp0 mod string_length(argument1);
    10. temp=temp^ord(string_char_at(argument1,temp0+1));
    11. temp0+=1;
    12. re+=chr(temp);
    13. }
    14. return re;
    Alles anzeigen


    Die String Funktionen fangen zwar mit 1 als erste Position an, aber damit das mit dem mod richtig funktioniert solltest du mit temp0 = 0 anfangen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bl@ckSp@rk ()

  • Benutzer online 1

    1 Besucher