0

バイナリをXORしたいのですが、結果はまだ間違っていますxor xorサンプルスクリプト:

function _xor($text,$key){
    for($i=0; $i<strlen($text); $i++){
            for($j=0; $j<strlen($key);$j++){
                $text[$i] = $text[$i]^$key[$j];
        }
    }
    return $text;
}

そしてこれは結果です:

10011110

結果はxor

01100001
01100010
--------
00000011

正解を教えてください

4

1 に答える 1

4
function _xor($text,$key){
    for($i=0; $i<strlen($text); $i++){
        $text[$i] = intval($text[$i])^intval($key[$i]);
    }
    return $text;
}

echo  _xor('01100001','01100010');

を使用する前に^、まず文字列をintに変換する必要があります

間違っている2つのループを使用する必要はありません。1つだけで問題ありません。

于 2013-01-16T18:28:38.707 に答える