Ja, ich bin mir ganz hundert-prozentig sicher, dass der String bei 0 beginnt. Von dem {}-Syntax habe ich noch nie was gehört, trotz jahrelangem PHP. Ich benutze dafür normalerweise substr oder einfach den gleichen Syntax wie in Delphi: $s[$i] oder substr($s, $i, 1);
Den Fehler habe ich jetzt übrigens gefunden. Das Problem ist, dass der PHP-Zufallszahlen-Generator ein anderer ist, wie der von Delphi. Das heißt, dass es sehr schwierig werden könnte, diesen Algorithmus zu übersetzen. Hier hast du trotzdem noch meine Version:
Code:
function myCoder($s, $password, $decode)
{
$x = ($decode) ? -1 : 1;
mt_srand($password); # oder srand()
$result = '';
for($i = 0; $i < strlen($s); $i++) {
$c = ord($s[$i]);
if (($c >= 32) && ($c <= 122)) {
$c = $c + ($x * mt_rand(0, 90)); # oder rand()
if (($c < 32) || ($c > 122))
$c = $c - ($x*91);
}
$result .= chr($c);
}
return $result;
}
Mit freundlichen Grüßen,
Valle