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);
}
}