PHP ImageMagick - 保护图像

在本章中,您将学习如何保护图像,以便只有发送者和目标接收者才能看到网页上的图像。

PHP Imagemagick 提供图像处理和操作,使您可以保护您的图像免遭盗窃或未经授权的使用。 现在,我们将讨论 PHP Imagemagick 的功能以及它们如何帮助您保证图像安全。

加密图像

Imagemagick 中名为'encipherImage()'的内置函数有助于对图像进行加密。 将纯像素图像转换为加密像素是此函数中发生的过程。 加密的图像只能由能够使用给定密钥("passphrase")解密图像的观看者查看。

语法

public Imagick::encipherImage(string $passphrase): bool

该函数采用一个参数"passphrase"作为加密和解密图像的密钥。 它将图像作为输入,使用密码对图像进行加密,并生成加密图像作为输出。

示例

下面的示例显示了'encipherImage()'函数的实现。 首先,必须创建一个新的 imagick 对象,并将图像作为输入。 'Passphrase'被定义为作为参数传递的字符串。 然后,在密码短语的帮助下应用'encipherImage()'函数,并获得加密图像作为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg");
   $passphrase="Tutorials Point";
   $image->encipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
?>

假设以下是程序中的输入图像(image.jpeg)−

加密图像

输出

加密图像

解读图像

Imagemagick 提供了一个内置函数'decipherImage()',有助于解密图像。 将加密图像转换为明文图像的过程称为图像解密。 该函数将加密图像作为输入,使用密码将该图像转换为明文图像,并生成明文图像作为输出。

语法

public Imagick::decipherImage(string $passphrase): bool

该函数将"passphrase"作为参数。 它有助于破译图像。

示例

以下示例显示如何实现'decipherImage()'函数。 首先,创建一个新的 Imagick 对象并传递图像作为输入。 您还需要定义一个作为参数传递的密码字符串。 最后,使用 'decipherImage()' 函数和您的密码来获取解密的图像作为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
   $passphrase="Tutorials Point";
   $image->decipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/decipherImage.png");
?>

假设以下是程序中的输入图像(encipherImage.png)−

解密图像

输出

解密图像