0

ログファイルは次のエラーでいっぱいです:

未定義のオフセット: 764 行目の /var/www/html/site2/functions.inc.php の 255"

行 764 は次のとおりです。

$counter[$i] = $counter[$x];    

関数全体は以下を参照してください。

誰かがそれを修正するのを手伝ってくれますか? ありがとう。

function Encode($data,$pwd) {
    $pwd_length = strlen($pwd);
    for ($i = 0; $i < 255; $i++) {
        $key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1));
        $counter[$i] = $i;
    }
    $x = '';
    for ($i = 0; $i < 255; $i++) {
        $x = ($x + $counter[$i] + $key[$i]) % 256;
        $temp_swap = $counter[$i];
        $counter[$i] = $counter[$x];
        $counter[$x] = $temp_swap;
    }
    $a = '';
    $j = '';
    $Zcrypt = '';
    for ($i = 0; $i < strlen($data); $i++) {
        $a = ($a + 1) % 256;
        $j = ($j + $counter[$a]) % 256;
        $temp = $counter[$a];
        $counter[$a] = $counter[$j];
        $counter[$j] = $temp;
        $k = $counter[(($counter[$a] + $counter[$j]) % 256)];
        $Zcipher = ord(substr($data, $i, 1)) ^ $k;
        $Zcrypt .= chr($Zcipher);
    }
    return $Zcrypt;
}
4

1 に答える 1

2

$i >= 255 になると for ループが停止します。それは望ましくありません。for ループを $i>255 で停止する必要があると思います。

だから変える

for ($i = 0; $i < 255; $i++) {

の中へ

for ($i = 0; $i <= 255; $i++) {

そして、あなたは行ってもいいです!

于 2012-05-27T11:31:04.453 に答える