PHP图片加密

class Encrypt{

    //加密
    public function image_encode($filePath, $newPath) {
        $fileId = fopen($filePath, 'rb+');

        $fileSize = fileSize($filePath);

        $img = fread($fileId, $fileSize);

        $imgUnpack = unpack('C*', $img);

        fclose($fileId);

        $tempArr = [];

        for ($i = 1; $i <= $fileSize; $i++) {
            $value = 0;
            if ($i % 3 == 0) {
                $value = 2;
            } elseif ($i % 5 == 0) {
                $value = 4;
            } elseif ($i % 7 == 0) {
                $value = 6;
            }
            $byte = $imgUnpack[$i];
            $byte = $byte + $value;

            $tempArr[] = pack('C*', $byte);
        }

        $img = implode('', $tempArr);
        file_put_contents($newPath, $img);
    }

    //解密
    public function image_decode($filePath, $newPath) {
        $fileId = fopen($filePath, 'rb+');
        $fileSize = filesize($filePath);
        $img = fread($fileId, $fileSize);
        $imgUnpack = unpack('C*', $img);
        fclose($fileId);

        $tempArr = [];

        for ($i = 1; $i <= $fileSize; $i++) {
            $value = 0;
            if ($i % 3 == 0) {
                $value = 2;
            } elseif ($i % 5 == 0) {
                $value = 4;
            } elseif ($i % 7 == 0) {
                $value = 6;
            }
            $byte = $imgUnpack[$i];
            $byte = $byte - $value;
            $tempArr[] = pack('C*', $byte);
        }
        $img = implode('', $tempArr);
        file_put_contents($newPath, $img);
    }
}

 

posted @ 2021-04-19 14:12  蝶花残梦  阅读(342)  评论(0编辑  收藏  举报
Live2D