Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-10-2005, 19:02   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
verschlüsselung

Hi

hab ein kleines Problem!
ich hab einen Verschlüselungsalgorithmus gecodet aber hab jetzt ein kleines Problem bei der entschlüsselung.
Vielleicht kann mir ja einer von euch helfen.
ActionScript:
  1. zeichen = new Array("q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä", "y", "x", "c", "v", "b", "n", "m", "?", "-", ".", ",", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ";");
  2. a = 123123;
  3. b = "sdfff";
  4. c = "sdffgas";
  5. a = a+";"+b+";"+c;
  6. i = a.split("");
  7. q = 0;
  8. //beginnn der Verschlüsselung
  9. while (i[q] != null) {
  10.     for (w=0; w<44; w++) {
  11.         if (i[q] == zeichen[w]) {
  12.             e = q+w;
  13.             if (e>43) {
  14.                 e = e-44;
  15.             }
  16.             i[q] = zeichen[e];
  17.         }
  18.     }
  19.     q++;
  20. }
  21. q = 0;
  22. v = null;
  23. while (i[q] != null) {
  24.     if (v == null) {
  25.         v = i[q];
  26.     } else {
  27.         v += i[q];
  28.     }
  29.     q++;
  30. }
  31. trace(v);
  32. //beginn der entschlüsselung
  33. q = 0;
  34. while (i[q] != null) {
  35.     for (w=0; w<44; w++) {
  36.         if (i[q] == zeichen[w]) {
  37.             e = w-q;
  38.             if (e<0) {
  39.                 e = e+44;
  40.             }
  41.             i[q] = zeichen[e];
  42.         }
  43.     }
  44.     trace(i[q]);
  45.     q++;
  46. }


Wo liegt den hier der Fehler?

mfg jochi
__________________
gratis Proben
Jochi ist offline   Mit Zitat antworten
Alt 11-10-2005, 06:50   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ActionScript:
  1. z = "qwertzuiopüasdfghjklöäyxcvbnm?-.,1234567890;";
  2. zlen = z.length;
  3. i = ("das-ist-ein-test-123123;sdfff;sdffgas").split("");
  4. ilen = i.length;
  5. //
  6. //beginn der Verschlüsselung
  7. q = -1;
  8. while (++q<ilen) {
  9.     i[q] = z.charAt((z.indexOf(i[q])+zlen+q)%zlen);
  10. }
  11. trace(i.join(""));
  12. //
  13. //beginn der Entschlüsselung
  14. q = -1;
  15. while (++q<ilen) {
  16.     i[q] = z.charAt((z.indexOf(i[q])+zlen-q)%zlen);
  17. }
  18. trace(i.join(""));
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (11-10-2005 um 07:14 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 11-10-2005, 07:10   #3 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Und auf "deinen selbst-gecodeten" Algorithmus bezogen:
PHP-Code:
//beginn der entschlüsselung
0;
while (
i[q] != null) {
        for (
w=0w<44w++) {
                if (
i[q] == zeichen[w]) {
                    if(
+= 44;
                        
w;
                        
i[q] = zeichen[e];
                }
        }
        
q++;
}

trace(v); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 11-10-2005, 16:46   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
habs grad ausprobiert die entschlüsselung hgseib klappt versteh ich allerdings nicht so ganz!

aber das script von render hat irgendwie nicht geklappt.

mein code schaut jetzt so aus.
ActionScript:
  1. zeichen = new Array("q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä", "y", "x", "c", "v", "b", "n", "m", "?", "-", ".", ",", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ";");
  2. a = 123123;
  3. b = "sdfff";
  4. c = "sdffgas";
  5. a = a+";"+b+";"+c;
  6. i = a.split("");
  7. q = 0;
  8. //beginnn der Verschlüsselung
  9. while (i[q] != null) {
  10.     for (w=0; w<44; w++) {
  11.         if (i[q] == zeichen[w]) {
  12.             e = q+w;
  13.             if (e>43) {
  14.                 e = e-44;
  15.             }
  16.             i[q] = zeichen[e];
  17.         }
  18.     }
  19.     q++;
  20. }
  21. q = 0;
  22. v = null;
  23. while (i[q] != null) {
  24.     if (v == null) {
  25.         v = i[q];
  26.     } else {
  27.         v += i[q];
  28.     }
  29.     q++;
  30. }
  31. trace(v);
  32. //beginn der entschlüsselung
  33. q = 0;
  34. while (i[q] != null) {
  35.     for (w=0; w<44; w++) {
  36.         if (i[q] == zeichen[w]) {
  37.             if (q<0) {
  38.                 q += 44;
  39.             }
  40.             e = q-w;
  41.             i[q] = zeichen[e];
  42.         }
  43.     }
  44.     q++;
  45. }
  46. q = 0;
  47. v = null;
  48. while (i[q] != null) {
  49.     if (v == null) {
  50.         v = i[q];
  51.     } else {
  52.         v += i[q];
  53.     }
  54.     q++;
  55. }
  56. trace(v);
irgendwo muss da noch ein kleiner Fehler drinnen sein.
__________________
gratis Proben

Geändert von Jochi (11-10-2005 um 17:15 Uhr)
Jochi ist offline   Mit Zitat antworten
Alt 12-10-2005, 00:23   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
dein for.. ist grausselig ;-) und verursacht den fehler
ActionScript:
  1. zeichen = new Array("q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä", "y", "x", "c", "v", "b", "n", "m", "?", "-", ".", ",", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ";");
  2. a = 123123;
  3. b = "sdfff";
  4. c = "sdffgas";
  5. a = a+";"+b+";"+c;
  6. i = a.split("");
  7. q = 0;
  8. //beginn der Verschlüsselung
  9. while (i[q] != null) {
  10.     for (w=0; w<44; w++) {
  11.         if (i[q] == zeichen[w]) {
  12.             e = q+w;
  13.             if (e>43) {
  14.                 e = e-44;
  15.             }
  16.             i[q] = zeichen[e];
  17.             break;
  18.         }
  19.     }
  20.     q++;
  21. }
  22. trace(i.join(''));
  23. //beginn der Entschlüsselung
  24. q = 0;
  25. while (i[q] != null) {
  26.     for (w=0; w<44; w++) {
  27.         if (i[q] == zeichen[w]) {
  28.             e = w-q;
  29.             if (e<0) {
  30.                 e = e+44;
  31.             }
  32.             i[q] = zeichen[e];
  33.             break;
  34.         }
  35.     }
  36.     q++;
  37. }
  38. trace(i.join(''));
zeichen nicht als array, sondern als string lassen
per zeichen.charAt(0); kannst du jeden buchstaben auslesen und
per zeichen.indexOf(i[q]) die position suchen lassen (nicht mit for...)
z.indexOf(i[q])+zlen+q ==> zeichen.indexOf(i[q])+44+q
längen wie die 44 niemals fest in den code reinscheiben, wenn sich mal etwas ändert...
und e%44 ==> if (e>43) {e = e-44;}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele