Fehler beim Portieren?
Übersicht

![]() |
SmilyBetreff: Fehler beim Portieren? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich glaube, ich habe hier beim Portieren eines RC4-Algorhytmusses von Blitzmax zu PHP einen kleinen Fehler gemacht, kann ihn aber nicht finden. Kann mir jm. hier helfen pls? Blitzmax: Code: [AUSKLAPPEN] print rc4("moep", "moep")
Function rc4$(s$,key$) Local sbox[256], keyh[256] Local i, J, kptr, x, swap Local r$ For i = 0 To 255 sbox[i] = i kptr = kptr + 1 keyh[i] = Asc(Mid$(key$, kptr, 1)) kptr = kptr Mod Len(key$) Next For i = 0 To 255 j = (j + sbox[i] + keyh[i]) Mod 256 swap = sbox[i] sbox[i] = sbox[j] sbox[j] = swap Next For x = 1 To Len(s$) i = x Mod 256 j = (j + sbox[i]) Mod 256 r$ = r$ + Chr$(Asc(Mid$(s$, x, 1)) ~ sbox[(sbox[i] + sbox[j]) Mod 256]) Next Return r$ End Function PHP: Code: [AUSKLAPPEN] print rc4("moep", "moep");
function rc4($s, $key) { for($i = 0; $i <= 255; $i++) { $sbox[$i] = $i; $kptr++; $keyh[$i] = ord(Substr($key,$kptr-1,1)); $kptr = bcmod($kptr, strlen($key)); } for($i = 0; $i <= 255; $i++) { $j = bcmod($j + $sbox[i] + $keyh[i], 256); $swap = $sbox[i]; $sbox[i] = $sbox[j]; $sbox[j] = $swap; } for($x = 1; $x <= strlen($s); $x++) { $i = bcmod($x, 256); $j = bcmod($j + $sbox[$i], 256); $r = $r . chr(ord(substr($s,$x-1,1)) xor $sbox[bcmod(($sbox[i] + $sbox[j]),256)]); } return $r; } |
||
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 |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aus i und j mach $i und $j.
Ist generell nützlich, wenn man immer mit error_reporting(E_ALL) arbeitet, dann wird so etwas nämlich als Notiz (oder war's ne Warnung) gemeldet. |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
thx.
ich habe meinen code angepasst. Aber er gibt trotzdem irgendwie noch nicht das wahre zurück :/ thx für den tip mit dem Error-report. Kannte ich noch gar nicht ^^ aber diesmal gibt es auch von dort keine nützlichen hinweise Code: [AUSKLAPPEN] print rc4("moep", "moep");
function rc4($s, $key) { for($i = 0; $i <= 255; $i++) { $sbox[$i] = $i; $kptr++; $keyh[$i] = ord(Substr($key,$kptr-1,1)); $kptr = bcmod($kptr, strlen($key)); } for($i = 0; $i <= 255; $i++) { $j = bcmod($j + $sbox[$i] + $keyh[$i], 256); $swap = $sbox[$i]; $sbox[$i] = $sbox[$j]; $sbox[$j] = $swap; } for($x = 1; $x <= strlen($s); $x++) { $i = bcmod($x, 256); $j = bcmod($j + $sbox[$i], 256); $r = $r.chr(ord(substr($s,$x-1,1)) xor $sbox[bcmod(($sbox[$i] + $sbox[$j]),256)]); } return $r; } |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group