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

时间:2012-04-20 16:18:20

标签: php

我正在使用取自Corrupt的功能(基于网络的软件用于获取"故障"使用jpeg图像的效果)。此功能可以在第23行的corrupt.php文件中找到。目前它没有使文件足够毛病。我让this images向您展示了我希望图像的外观。这是通过在文本编辑器中打开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);
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

要增加互换量,您需要增加替换次数。您特别感兴趣的代码是rand(1, 30);;如果你仍然没有达到预期的效果,我建议先增加最小的争夺量,然后再增加上限。