谁能解释一下这个加扰功能是如何工作的


Can anyone explain how this scrambling function works?

我正在使用一个取自Corrupt(一种基于Web的软件,用于使用jpeg图像获得"故障"效果)的功能。此功能可以在第 23 行的损坏.php文件中找到。目前,它并没有使文件出现故障。我制作这些图像是为了向您展示我希望图像的外观。这是通过在文本编辑器中打开 jpeg 并剪切某些行并将它们粘贴到其他地方来实现的。

我希望这个函数做类似的事情,但目前它没有。有什么想法吗?也许有更好的方法吗?

function scramble($content, $size) {
    $sStart = 10;
    $sEnd = $size-1;
    $nReplacements = rand(1, 30);
    for($i = 0; $i < $nReplacements; $i++) {
        $PosA = rand($sStart, $sEnd);
        $PosB = rand($sStart, $sEnd);
        $tmp = $content[$PosA];
        $content[$PosA] = $content[$PosB];
        $content[$PosB] = $tmp;
    }
    return($content);
}

它在从图像加载的数据数组中随机交换信息。这会导致有效图像在某些扇区中显示无效的图像信息。此外,图像文件有时在文件的前端/结尾包含其他信息;这看起来不像是考虑到这一点,也可能破坏该信息。

要增加掉期金额,您需要增加更换次数。您特别感兴趣的代码位是rand(1, 30);;如果您仍然没有得到所需的效果,我建议先增加最小争夺量,然后再增加上限。

该函数在数组的元素之间进行随机交换。交换次数是随机生成的数字,从 1 到 30。